【问题标题】:Certificate Request Info on a PKCS#10 to be signed要签署的 PKCS#10 上的证书请求信息
【发布时间】:2011-09-21 05:35:42
【问题描述】:

我正在编写一个必须创建 PKCS#10 的代码。为此,我必须签署我的“证书请求信息”,但当我这样做时,应用程序会说签名无效。

我正在使用 OpenSSL.exe 来验证 P10,错误是: “ANS1_CHECK_TLEN:标签错误”。我认为我签署了我不应该签署的内容,所以我的问题是,我必须签署的“证书请求信息”的确切格式是什么?

我知道它必须以序列开头,但 p10 规范告诉:

"签名过程分为两步:

  1. certificationRequestInfo 组件的值为 DER 编码,产生一个八位字节字符串。
  2. 步骤 1 的结果与认证请求一起签名 指定签名下的主题私钥 算法,产生一个位串,即签名。”

根据 ANS.1,我不确定开始是否必须是 SEQUENCE (0x30 0x82 "the length>256") 或 A OCTET STRING (0x04 0x82 "the length>256")。

如果有人请像这篇文章一样给我一个答案,我可能是世界上最快乐的人。非常感谢:

PKCS#10 request for a object key pair from PKCS#11

问候,大卫 M.

【问题讨论】:

    标签: certificate openssl x509 asn.1 der


    【解决方案1】:

    PKCS#10 标准的第 1 步将八位字节字符串作为certificationRequestInfo 元素编码的结果进行讨论,并且不涉及 ASN.1 类型。请求签名是根据这个 DER 编码计算的,因此 to-be-signed 对象是 ASN.1 SEQUENCE 而不是 OCTET STRING

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多