Создайте файл P12 или PFK из CER, PEM, P7B, PKCS8
Я хотел бы создать файл.p12 или.pfk. У меня есть файлы, как показано ниже:
- xx.cer
- xx.p7b
- xx.pem
- xx.pkcs8
Я пробовал много команд openssl, но я мог создать только файл.p12 с нулевым байтом.
Пример команды openssl, которую я выполнил:
openssl pkcs12 -export -inkey xx.pem -out xx.p12
2 ответа
Я не знаю, что находится в файле xx.pem, а что в xx.pkcs8. Закрытый ключ должен быть в одном (или обоих?) Из этих файлов. Я предполагаю, что закрытый ключ находится в файле xx.pem. Тогда команда для создания файла p12 должна быть:
openssl pkcs12 -export -inkey ./xx.pkcs8 -in ./xx.pem -out ./xx.p12
Openssl предложит вам добавить пароль к файлу p12, но при наборе текста на экране не будет звездочек. Не волнуйтесь, просто введите пароль. Этот файл p12 будет содержать закрытый ключ и соответствующий сертификат. Он не будет включать цепные сертификаты, которые могут быть в файле xx.p7b.
Я преобразовал файл pkcs8 в pem и b64 и обновил верхний и нижний колонтитулы. Когда я запускаю команды, как показано ниже, я получаю эту ошибку:
Команды:
openssl pkcs12 -export -inkey ./xx.pem -in ./xx.cer -out ./xx.p12
openssl pkcs12 -export -inkey ./xx.b64 -in ./xx.cer -out ./xx.p12
Результаты:
unable to load private key
58163:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/tasn_dec.c:1315:
58163:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/tasn_dec.c:827:
58163:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/tasn_dec.c:747:Field=version, Type=RSA
58163:error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/d2i_pr.c:99:
58163:error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/pem/pem_pkey.c:125: