
Рабочая станция: 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 и возвращает все ожидаемые данные поля.
Что я здесь упускаю?
решение1
Формат CSR, сгенерированного EMC, является двоичным. Используйте
certutil.exe -encode binary.csr ascii.csr