Ошибка OpenSSL при создании CSR из закрытого ключа

У меня есть закрытый ключ, который я экспортировал из нашего файла .p12. Ключ был использован для успешной подписи самого приложения.

Теперь мне нужно сгенерировать CSR из ключа. Этот сайт советует использовать следующую команду для этой задачи:

req -out CSR.csr -key privateKey.key -new

Это дает следующую ошибку:

невозможно загрузить закрытый ключ

6420: ошибка: 0D0680A8: процедуры кодирования asn1: ASN1_CHECK_TLEN: неправильный тег:. \ Crypto \ asn1 \ tasn_dec.c: 1319:

6420: ошибка: 0D06C03A: процедуры кодирования asn1: ASN1_D2I_EX_PRIMITIVE: вложенная ошибка asn1:. \ Crypto \ asn1 \ tasn_dec.c: 831:

6420: ошибка: 0D08303A: процедуры кодирования asn1: ASN1_TEMPLATE_NOEXP_D2I: вложенная ошибка asn1:. \ Crypto \ asn1 \ tasn_dec.c: 751: поле = версия, тип = RSA

6420: ошибка: 04093004: процедуры rsa: OLD_RSA_PRIV_DECODE: RSA lib:. \ Crypto \ rsa \ rsa_ameth.c: 115:

6420: ошибка: 0D0680A8: процедуры кодирования asn1: ASN1_CHECK_TLEN: неправильный тег:. \ Crypto \ asn1 \ tasn_dec.c: 1319:

6420: ошибка: 0D06C03A: процедуры кодирования asn1: ASN1_D2I_EX_PRIMITIVE: вложенная ошибка asn1:. \ Crypto \ asn1 \ tasn_dec.c: 831:

6420: ошибка: 0D08303A: процедуры кодирования asn1: ASN1_TEMPLATE_NOEXP_D2I: вложенная ошибка asn1:. \ Crypto \ asn1 \ tasn_dec.c: 751: поле = версия, тип = PKCS8_PRIV_KEY_INFO

6420: ошибка: 0907B00D: подпрограммы PEM: PEM_READ_BIO_PRIVATEKEY: ASN1 lib:. \ Crypto \ pem \ pem_pkey.c: 132: ошибка в запросе

Ошибка такая же, как если бы я попробовал

rsa -noout -text -in privateKey.key

Файл действительно существует. Что я делаю не так и как это исправить?


person zyndor    schedule 30.01.2013    source источник


Ответы (1)


Альтернативное решение, которое действительно работало.

1. Создайте файл .pem из исходного .p12 (введите пароль при появлении запроса)

openssl pkcs12 -in my.p12 -nocerts -out my.pem -nodes

2, создайте запрос из .pem:

openssl req -new -key my.pem -out my.csr

Вам будет предложено ввести страну, штат, местонахождение, организацию, подразделение и общие названия, а также ваш адрес электронной почты, а также дополнительные атрибуты (пароль для проверки и необязательное название компании).

Выполнено.

РЕДАКТИРОВАТЬ: также в Подготовить запрос на подпись сертификата обновления ( CSR) с OpenSSL.

person zyndor    schedule 30.01.2013