当前位置: 首页 > 知识库问答 >
问题:

解释X509数字证书的证书签名值字段

皇甫伟彦
2023-03-14

由认证机构签署的X509数字证书包含这两个字段。1.签名算法2.签名值我知道“签名算法”字段包含认证机构用来签署证书的哈希算法。“签名值”是哈希计算的签名。我的问题是哈希处理的数据是什么?是作为企业社会责任(证书签名请求)一部分的公钥还是整个企业社会责任的公钥?

共有1个答案

汲涵育
2023-03-14

构成签名输入的既不是公钥本身,也不是用于请求证书的企业社会责任。根据RFC 5280-Internet X.509公钥基础设施证书和证书吊销列表(CRL)简介:

signatureValue字段包含根据ASN计算的数字签名。1 DER编码的TBS证书。ASN。1 DER编码的tbsCertificate用作签名函数的输入。

tbsCertificate(tbs=待签名)的语法是:

TBSCertificate  ::=  SEQUENCE  {
     version         [0]  EXPLICIT Version DEFAULT v1,
     serialNumber         CertificateSerialNumber,
     signature            AlgorithmIdentifier,
     issuer               Name,
     validity             Validity,
     subject              Name,
     subjectPublicKeyInfo SubjectPublicKeyInfo,
     issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version MUST be v2 or v3
     subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version MUST be v2 or v3
     extensions      [3]  EXPLICIT Extensions OPTIONAL
                          -- If present, version MUST be v3
     }

这种结构的DER编码是计算签名的数据

 类似资料:
  • 我的手被https、ssl、PKI之类的东西弄得脏兮兮的。对于自签名证书,有一点我不太理解。假设我想创建一个自签名证书,并在我们想要建立安全连接时将其发送给我的朋友。 所以步骤是: 创建一个私钥。 创建一个公钥。 用我的公钥在证书上签名。 因此,当我的朋友得到我的证书时,他必须验证他得到的证书是我的,他需要解密数字签名。但为了解密和验证他必须拥有我的私钥。所以,我有点困惑。

  • 我需要用DSA公钥验证X509证书签名。我的证书文件x509.crt,我的DSA公钥在一个名为dsa_pub.key的文件中 我正试图为此使用openssl。我已经阅读了openssl验证文档,但在其中找不到任何有关DSA的参考。 当我运行以下命令时,我可以在证书中看到我的DSA公钥: 但是,在使用文件DSA_pub.key中的DSA公钥验证cert.crt时,我遇到了麻烦 如果您有任何建议,我将

  • 我正在通过PKI开发身份验证。我是通过PKI认证用户的新手,所以在网上阅读后,我想出了这个解决方案。用户将创建公钥和私钥。为了验证公钥,用户将申请数字证书。数字证书将具有公钥、用户的元数据和证书颁发机构的数字签名。为了证明没有数据被篡改,用户将使用数字签名,这将是证书与用户私钥的哈希。用户将向服务器发送数字证书、数字签名和数据。 作为响应,服务器将验证数字证书并获取公钥以验证数字签名,验证后,服务

  • 数字证书 数字证书用来证明某个公钥是谁的,并且内容是正确的。 对于非对称加密算法和数字签名来说,很重要的一点就是公钥的分发。一旦公钥被人替换(典型的如中间人攻击),则整个安全体系将被破坏掉。 怎么确保一个公钥确实是某个人的原始公钥? 这就需要数字证书机制。 顾名思义,数字证书就是像一个证书一样,证明信息和合法性。由证书认证机构(Certification Authority,CA)来签发,权威的

  • 问题内容: 我需要使用Java的Bouncy Castle创建一个自签名的X509证书,但是我尝试包含的每个类均已弃用。我该如何解决?还有其他课程吗?谢谢 问题答案: 使用BouncyCastle的最新版本- 1.55 1.66 通过@Bewusstsein更新答案。截至此答案(5/11/2017),最新版本不推荐使用bouncycastle类。如果您使用的是1.55或更高版本:

  • 问题内容: 我试图分几个步骤处理X509证书,并遇到了两个问题。我是JCE的新手,所以我还没有完全了解最新信息。 我们希望能够基于不同的编码(PEM,DER和PCKS7)解析几个不同的X509证书。我已经使用FireFox 从https://belgium.be以PEM和PCKS7格式导出了相同的证书(证书包括链)。我已经省略了几行不需要的问题 只要我使用FileInputStream而不是PCK