Создание файла .p12
Используя openssl
, я создал закрытый ключ следующим образом:
openssl genrsa -out myKey.pem
Затем, чтобы сгенерировать csr
, требуемый CA, я выполнил следующее:
openssl req -new -key myKey.pem -out cert.csr
CA ответил сертификатом, который я сохранил в файле с именем myCert.cer
Теперь я хочу связать необходимые компоненты (закрытый ключ, открытый ключ (?) и сертификат) в один .p12
. Для этого я запустил следующее:
openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in myCert.cer
но я получаю следующее сообщение об ошибке:
No certificate matches private key
Как я могу это сделать?
Ответы
Ответ 1
В документации openssl
говорится, что файл, поставляемый в качестве аргумента -in
, должен быть в формате PEM.
Оказывается, что вопреки руководству CA сертификат, возвращенный ЦС, который я сохранил в myCert.cer
, не является PEM, а имеет значение PKCS7.
Чтобы создать мой .p12
, мне пришлось сначала преобразовать сертификат в PEM:
openssl pkcs7 -in myCert.cer -print_certs -out certs.pem
а затем выполните
openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in certs.pem