【问题标题】:Regarding: PKCS7, X509 and DER关于:PKCS7、X509 和 DER
【发布时间】:2010-04-01 08:39:09
【问题描述】:

我是“密码学世界”的新手。我开始使用 OPENSSL。 我需要一些信息,基本上我确实有一些疑问。 我有一个 DER 格式的文件。我使用以下命令读取文件, "openssl x509 -inform DER -in filename.der -text" 我得到了我应该做的。

以下我想知道的事情:

  1. PKCS7、DER 和 X509 有什么区别? (我的理解是,DER是格式,X509是证书,PKCS7是标准)

  2. 我编写了一个测试文件,它接受 DER 文件并输出版本、序列号、主题、之前的有效期和之后的有效期,但我无法验证证书。以下是使用的 API。

    int i = X509_verify(X509 *x509 , X509_get_pubkey(X509 *x509)); 但是 'i' 值是 'i'

  3. 在我的测试文件中,我无法读取“签名算法”、“主题公钥信息”、“X509v3 扩展”和“-----BEGIN CERTIFICATE-----”到“- ----结束证书-----"

请提供一些意见。

提前致谢。 打开Sid

【问题讨论】:

    标签: openssl


    【解决方案1】:

    PKCS#7 是 RSA Security 于 1993 年发布的加密标准,用于处理应用了加密的数据。它是如何安全地打包数据的标准。 PKCS#7 引用 X.509 标准作为证书格式的来源。

    X.509 是 1998 年发布的范围广泛的安全标准文档,其中包括证书文件格式。

    X.509 指定证书应使用 ASN.1(在 X.208 和现在的 X.608 中记录)标准的可分辨编码规则进行编码,该标准于 1984 年首次发布。

    所以,DER 说明了如何将一些字符串和数字源数据编码为二进制格式, X.509 说明哪些数据需要进入数字证书,以及 PKCS#7 说明了应该如何使用该证书来对消息进行数字签名。


    隐私增强邮件 - 在 OpenSSL 之前发布的某种工具 - 需要在电子邮件消息中传递 PKCS#7 “包装”数据,当时在仅支持 7 位 ASCII 字符的系统上交换 - “PEM”创建了使用 Base64 编码 PKCS#7 所需的 X.509 证书的标准,并将 base64 存储在 -----BEGIN ???----- -----END ???-----在哪里 ???可以是 RSA 私钥、PSA 公钥、证书等。

    【讨论】:

    • 仅供参考:pkcs7 der/pem 文件可以捆绑许多证书,而 x509 der/pem 无法将不相关的链捆绑在一起。这就是为什么 pkcs7 被认为是今天的批量导出等。例如,当 Windows 的 PE32 文件使用“代码签名”证书进行签名时,它在 OPTIONS 安全标头中包含两个链,即“代码设计”和“时间戳”链一个 der 格式数据块。
    【解决方案2】:

    PKCS 组件是 PKCS#1、PKCS#5、PKCS#7、PKCS#8、PKCS#9、PKCS#10 和 PKCS#12,PKCS 标准是 RSA 实验室与安全系统开发商合作制定的规范以加速公钥密码学的部署。

    用户可以向证书颁发机构请求证书,以便该用户将他或她在 PKCS#10 对象中的公钥发送给 CA。一旦请求被批准,CA 就会颁发一个包含在PKCS#7 格式的对象。

    PKCS#7 为已应用加密技术的数据定义标准格式,PKCS#7 仅指定数据格式,不指定任何特定算法的选择 (X509)

    X.509 证书是包含证书所有者和颁发者信息的公钥

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      相关资源
      最近更新 更多