为什么我无法在 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

相关内容