為什麼我無法在 Windows 工作站上使用 openssl 解析我的憑證簽署請求

為什麼我無法在 Windows 工作站上使用 openssl 解析我的憑證簽署請求

工作站:Windows Pro 8.1 OpenSSL 版本:1.0.2d-x64

我有一個透過 Exchange 2010 管理主控台產生的 CSR。我想使用 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

EMC 產生的CSR 的格式是二進位的。使用

certutil.exe -encode binary.csr ascii.csr

相關內容