【发布时间】:2011-09-23 05:19:21
【问题描述】:
公共 DSA 密钥的格式是什么?并且所有证书都存储在base64中吗?
【问题讨论】:
标签: certificate base64 public-key pki asn.1
公共 DSA 密钥的格式是什么?并且所有证书都存储在base64中吗?
【问题讨论】:
标签: certificate base64 public-key pki asn.1
您是指证书中使用的公钥格式吗?
通常,证书中的公钥存储在 SubjectPublicKeyInfo 字段中(参见 RFC 5280)
SubjectPublicKeyInfo ::= 序列 { 算法算法标识符, subjectPublicKey 位串 }可以在RFC 3370 中找到 DSA 的详细信息。通常 AlgorithmIdentifier 的参数包含 Dss-Parms 的实例,为您提供 p、k、g 和 subjectPublicKey BIT STRING 包含编码为 DER 编码的整数的公钥 y。
关于 Base64:严格来说,证书不是 Base64 编码的,而是使用它的扩展形式,PEM 格式,一种纯文本格式,它是 X.509 证书的 Base64 编码 (RFC5280 ) 括在两行之间
"-----BEGIN CERTIFICATE-----"
...
"-----END CERTIFICATE-----"
或
"-----BEGIN X509 CERTIFICATE----"
...
"-----END X509 CERTIFICATE----".
证书本身是 RFC 5280 中描述的 ASN.1 结构的 DER 编码。有关 DER(可区分编码规则)的详细信息,请参阅X.690。
大多数证书都以 PEM 格式或直接以其原始 DER 编码形式存储。
【讨论】:
此页面上有大量关于规格的信息和参考资料。 http://en.wikipedia.org/wiki/Digital_Signature_Algorithm
【讨论】: