У меня есть закрытый ключ PEM RSA, созданный с помощью opendkim:
# dkim-genkey -t -s code001 -d domain.com
и для использования с обменом мне нужно преобразовать его в pfx с помощью этой команды:
# openssl pkcs12 -export -in code001.private -nodes -out code001.pfx -nokeys
Enter Export Password:
Verifying - Enter Export Password:
4192275:error:0D0C6070:asn1 encoding routines:ASN1_item_pack:encode error:asn_pack.c:170:
но я получаю эту ошибку, и я не знаю, правильный ли это способ сделать это.
Это не удается, потому что code001.private
содержит только ключ RSA, а pkcs12 ожидает, что вместе с ним будет сертификат. Кроме того, как сказал Стефан, опция -nokeys заставит openssl пропустить закрытый ключ.
Вы можете создать сертификат с помощью
openssl req -new -x509 -key code001.private -out code001.pem
и заполните интерактивные вопросы, затем сгенерируйте pfx с помощью
cat code001.private code001.pem |openssl pkcs12 -export -out code001.pfx
в -nokeys
параметр приведет к тому, что OpenSSL не будет включать закрытый ключ в выводе и -nodes
Параметр попросит его не шифровать закрытый ключ. В любом случае это не приведет к созданию пригодного для использования файла PKCS # 12.
Попробуйте:
openssl pkcs12 -export -in code001.private -out code001.pfx
Попробуйте: openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt