Rom*_*nko 16 c encryption openssl x509
我正在尝试从头开始实现X.509证书生成器(我知道现有的,但我需要另一个).我无法理解的是如何计算证书的SHA-1(或任何其他)指纹.
在RFC5280说,输入签名功能是DER编码即tbsCertificate场.不幸的是,我计算的哈希值与OpenSSL产生的哈希值不同.这是一个循序渐进的例子.
openssl x509 -fingerprint
sha1sum
实用程序计算其哈希值现在,我在第2步和第3步得到的哈希值是不同的.有人可以给我一个暗示我可能做错了吗?
Rom*_*nko 19
好吧,事实证明,OpenSSL计算的指纹只是整个证书的散列(在其DER二进制编码中,而不是 ASCII PEM!),而不仅仅是TBS部分,正如我所想的那样.
对于任何人谁在乎计算证书的摘要,它以不同的方式完成:哈希是在DER编码(再次,计算未在PEM字符串)TBS部分只,包括它的ASN.1头(该ID的0x30 == ASN1_SEQUENCE | ASN1_CONSTRUCTED和长度字段).请注意,不考虑证书的ASN.1标头.
归档时间: |
|
查看次数: |
16532 次 |
最近记录: |