Я хотел перечислить сертификаты, хранящиеся в хранилище ключей PKCS12.
Хранилище ключей имеет расширение .pfx
certificate
ssl-certificate
keystore
pkcs#12
Давид Гарсиа Гонсалес
источник
источник
.p12
)? Я получаюjava.io.IOException: Invalid keystore format
Вы также можете использовать
openssl
для достижения той же цели:источник
Вы можете перечислить записи (сведения о сертификатах) с помощью keytool, и даже вам не нужно указывать тип хранилища.
источник
В вопросе и во всех ответах отсутствует то, что вам может понадобиться кодовая фраза для чтения общедоступных данных из хранилища ключей PKCS # 12 (.pfx). Нужна ли вам кодовая фраза или нет, зависит от того, как был создан файл PKCS # 12. Вы можете проверить структуру файла ASN1 (запустив его через парсер ASN1, openssl или certutil тоже могут это сделать), если данные PKCS # 7 (например, префикс OID 1.2.840.113549.1.7) указаны как «зашифрованные» или со спецификацией шифра или если расположение данных в дереве asn1 ниже зашифрованного узла, вы не сможете прочитать их без знания парольной фразы. Это означает, что ваша команда openssl pkcs12 завершится ошибкой (вывод зависит от версии). Для тех, кто задается вопросом, почему вам может быть интересен сертификат PKCS # 12 без знания парольной фразы. Представьте, что у вас есть много хранилищ ключей и много фраз, и вы действительно плохо умеете их организовывать, и вы не хотите проверять все комбинации, сертификат внутри файла может помочь вам узнать, какой это может быть пароль. Или вы разрабатываете программное обеспечение для миграции / обновления хранилища ключей, и вам нужно заранее решить, какую процедуру инициировать на основе содержащегося сертификата без вмешательства пользователя. Таким образом, последние примеры работают без парольной фразы в зависимости от структуры PKCS # 12. Или вы разрабатываете программное обеспечение для миграции / обновления хранилища ключей, и вам нужно заранее решить, какую процедуру инициировать на основе содержащегося сертификата без вмешательства пользователя. Таким образом, последние примеры работают без парольной фразы в зависимости от структуры PKCS # 12. Или вы разрабатываете программное обеспечение для миграции / обновления хранилища ключей, и вам нужно заранее решить, какую процедуру инициировать на основе содержащегося сертификата без вмешательства пользователя. Таким образом, последние примеры работают без парольной фразы в зависимости от структуры PKCS # 12.
Просто хотел добавить это, потому что сам не нашел ответа и потратил много времени, чтобы разобраться.
источник
источник