Рабочая станция: Windows Pro 8.1 Версия OpenSSL: 1.0.2d-x64
У меня есть CSR, созданный через консоль управления Exchange 2010. Я хотел бы самостоятельно подписать его с помощью openssl, но у меня возникают проблемы с анализом CSR. Я пытаюсь проверить CSR с помощью следующей команды
. \ openssl req -config. \ openssl.cnf -in c: \ temp \ Exchange2010.csr -noout -text
Но я не могу понять, почему я получаю ответ
невозможно загрузить запрос X509
13756: ошибка: 0906D06C: подпрограммы PEM: PEM_read_bio: нет начальной строки:. \ Crypto \ pem \ pem_lib.c: 701: Ожидается: ЗАПРОС СЕРТИФИКАТА
Из прочитанного мной вывода видно, что openssl пытается проанализировать формат PEM. Я также читал, что могу проинструктировать его разобрать его в формате DER. Я использую следующую команду:
. \ openssl req -config. \ openssl.cnf -inform DER -in c: \ temp \ Exchange2010.csr -noout -text
Но результат этой команды:
невозможно загрузить запрос X509
16928: ошибка: 0D0680A8: процедуры кодирования asn1: ASN1_CHECK_TLEN: неправильный тег:. \ Crypto \ asn1 \ tasn_dec.c: 1180:
16928: ошибка: 0D07803A: процедуры кодирования asn1: ASN1_ITEM_EX_D2I: вложенная ошибка asn1:. \ Crypto \ asn1 \ tasn_dec.c: 365: Type = X509_REQ
Я подумал, что CSR может быть каким-то образом поврежден, поэтому зашел в Интернет и нашел инструмент проверки CSR. Он отлично разбирает CSR и сообщает все ожидаемые данные поля.
Что мне здесь не хватает?
Формат CSR, созданного EMC, является двоичным. Использовать
certutil.exe -encode binary.csr ascii.csr