для клиента PKI Мне нужно получить как сертификаты отказа от отказа, так и сертификаты цифровой подписи. Я выполнил этот код, чтобы получить эти сертификаты:Как получить сертификаты без разрешения и цифровой подписи
keyStore.load(null, null);
Enumeration<String> aliases = keyStore.aliases();
while (aliases.hasMoreElements()) {
String alias = aliases.nextElement();
if (keyStore.isKeyEntry(alias)) {
java.security.cert.Certificate certificate = keyStore.getCertificate(alias);
}
}
проблема заключается в том, что оба цифровых и не сертификаты отрицания имеет один и тот же псевдоним. поэтому, когда я вызываю keystore.getCertificate
, система всегда будет возвращать первый результат, хотя в окне certmgr.msc я вижу, что существует 2 сертификата, и блок LOOP выполняется два раза, но система всегда будет возвращать дублирующий результат из первого сертификата , Как я могу решить эту проблему?
Я определенно не задаю вопрос о том, как отличить отказ и цифровую подпись. То, о чем я спрашиваю, это процесс извлечения сертификата, так что бы вы предложили способ загрузить оба сертификата, потому что, как я это делаю прямо сейчас, обнаруживает два сертификата, но загружает один и тот же объект на каждой итерации – user435245
I Я обновил свой ответ, поэтому теперь список будет содержать все сертификаты, хранящиеся в хранилище ключей. – divanov
Это правильная идея, но, к сожалению, это не будет перечислять все сертификаты в магазине из-за детали реализации (ошибка?) В хранилище Windows ... – Bruno