Как создать файл p12 с закрытым ключом RSA и самозаверяющим сертификатом?

2273
FullStack

Я считаю, что точная процедура, описанная ниже, сработала для меня две недели назад, но сейчас это не так. Я начинаю с закрытого ключа RSA rsa.pemи создаю свой собственный самозаверяющий сертификат:

openssl req -new -x509 -key rsa.pem -out rsa.cer 

тогда я пытаюсь создать p12файл:

openssl pkcs12 -export -out rsa.p12 -inkey rsa.pem -in rsa.cer 

но я получаю только следующее сообщение:

Usage: pkcs12 [options] where options are -export output PKCS12 file -chain add certificate chain -inkey file private key if not infile -certfile f add all certs in f -CApath arg - PEM format directory of CA's -CAfile arg - PEM format file of CA's -name "name" use name as friendly name -caname "nm" use nm as CA friendly name (can be used more than once). -in infile input filename -out outfile output filename -noout don't output anything, just verify. -nomacver don't verify MAC. -nocerts don't output certificates. -clcerts only output client certificates. -cacerts only output CA certificates. -nokeys don't output private keys. -info give info about PKCS#12 structure. -des encrypt private keys with DES -des3 encrypt private keys with triple DES (default) -seed encrypt private keys with seed -aes128, -aes192, -aes256 encrypt PEM output with cbc aes -camellia128, -camellia192, -camellia256 encrypt PEM output with cbc camellia -nodes don't encrypt private keys -noiter don't use encryption iteration -nomaciter don't use MAC iteration -maciter use MAC iteration -nomac don't generate MAC -twopass separate MAC, encryption passwords -descert encrypt PKCS#12 certificates with triple DES (default RC2-40) -certpbe alg specify certificate PBE algorithm (default RC2-40) -keypbe alg specify private key PBE algorithm (default 3DES) -macalg alg digest algorithm used in MAC (default SHA1) -keyex set MS key exchange type -keysig set MS key signature type -password p set import/export password source -passin p input file pass phrase source -passout p output file pass phrase source -engine e use engine e, possibly a hardware device. -rand file:file:... load the file (or the files in the directory) into the random number generator -CSP name Microsoft CSP name -LMK Add local machine keyset attribute to private key 

Я просто следую за предыдущими постами:

https://stackoverflow.com/questions/38841563/create-rsacryptoserviceprovider-object-using-rsa-private-key-file-in-c-sharp

https://stackoverflow.com/questions/10994116/openssl-convert-pem-containing-only-rsa-private-key-to-pkcs12

0
Проверьте дефисы Юникода, если вы скопировали команду из браузера. techraf 7 лет назад 1
Я бы никогда не догадался, что это проблема. Спасибо! FullStack 7 лет назад 0

1 ответ на вопрос

1
techraf

Когда вы получаете синтаксическую ошибку (или руководство по использованию) по-видимому правильной команды, которую вы скопировали из веб-браузера (не набирали сами), сначала проверьте не буквенно-цифровые символы, такие как кавычки и дефисы.

Браузеры в настоящее время заменяют их символами Unicode, которые могут выглядеть похожими на человеческий глаз, но путать оболочку или программы.

Браузеры не заменяют _anything_. Блоггинг / публикация веб-приложений, однако, часто делают. grawity 7 лет назад 0
Спасибо, я рассмотрю ваш вклад. OS X заменяет эти символы в пользовательском интерфейсе, но я сейчас не за консолью, чтобы проверить, только ли это для ввода или это также влияет на отображение. techraf 7 лет назад 0

Похожие вопросы