工作站: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