Функция PEM_read_X509 - PullRequest
       24

Функция PEM_read_X509

1 голос
/ 10 октября 2019

Может ли функция PEM_read_X509 правильно прочитать файл CA с закрытым ключом? достаточно ли он умен, чтобы обрабатывать секцию закрытого ключа? Или произойдет ошибка, если файл .pem содержит закрытый ключ?

1 Ответ

0 голосов
/ 11 октября 2019

TLDR: ДА

Почти все функции OpenSSL PEM_read[_bio]_XYZ будут принимать файл (или эквивалентный), содержащий другие данные до и / или после блока PEM типа XYZ, и игнорироватьдругие данные, если они не находятся на одной и той же линии. Это предназначено для «комментариев», которые описывают данные PEM, но также работает для других типов данных PEM или просто для произвольных данных, вообще не связанных с данными PEM. В частности, PEM_read_X509 будет читать первый блок типа CERTIFICATE, X509 CERTIFICATE или TRUSTED CERTIFICATE и игнорировать все и вся, включая блок закрытого ключа.

Аналогично PEM_read_[algo_or_PKCS8]PrivateKey будет читать первый блок типа[ENCRYPTED | RSA | DSA | EC] PRIVATE KEY и игнорировать все остальное, но потерпеть неудачу, если вы попытались прочитать определенный алгоритм и (первый) найденный блок закрытого ключа имел другой тип. (Конечно, также происходит сбой, если найден действительный блок, но он зашифрован паролем, и вы не предоставите правильный пароль ни в качестве аргумента, ни посредством обратного вызова. И если действительный блок не найден.)

Я не уверен, что под 'CA cert' вы подразумеваете сертификат для CA или сертификат , выданный CA и для anконечная сущность, такая как ваш веб-сервер или почтовый ящик. За исключением персонального / локального или тестового CA, который вы или ваш коллега или ваша организация создали, большинство обычных пользователей должны иметь сертификаты для одного или нескольких CA, но никогда не использовать свои частные ключи. И если кто-то, ответственный за настоящий CA, например, скажет, что LetsEncrypt задает такие базовые вопросы о Stackoverflow, я был бы очень встревожен и обеспокоен компетенцией и, следовательно, безопасностью этого CA.

...