我正在编写一个必须创建 PKCS#10 的代码。为此,我必须签署我的“证书请求信息”,但是当我这样做时,应用程序会说签名无效。
我正在使用 OpenSSL.exe 来验证 P10,错误是:“ANS1_CHECK_TLEN:错误标签”。我想我签署了我不应该签署的,所以我的问题是,我必须签署的“证书请求信息”的确切格式是什么?
我知道它必须以序列开头,但 p10 规范告诉:
“签名过程包括两个步骤:
- certificateRequestInfo 组件的值是 DER 编码的,产生一个八位字节字符串。
- 步骤 1 的结果使用认证请求主体的私钥在指定的签名算法下进行签名,产生一个比特串,即签名。”
根据 ANS.1,我不确定开始是否必须是 SEQUENCE (0x30 0x82 "the length>256") 或 A OCTET STRING (0x04 0x82 "the length>256")。
如果有人请像这篇文章一样给我一个答案,我可能是世界上最幸福的人。非常感谢:
问候,大卫 M。