2

公共 DSA 密钥的格式是什么?所有证书都存储在base64中吗?

4

2 回答 2

4

您是指证书中使用的公钥格式吗?

通常,证书中的公钥存储在 SubjectPublicKeyInfo 字段中(参见 RFC 5280)

SubjectPublicKeyInfo ::= 序列 {
     算法算法标识符,
     subjectPublicKey 位串 }

DSA 的细节可以在RFC 3370中找到。通常,AlgorithmIdentifier 的参数包含 Dss-Parms 的实例,为您提供 p、k、g,并且 subjectPublicKey BIT STRING 包含编码为 DER 编码整数的公钥 y。

关于 Base64:严格来说,证书不是Base64 编码的,而是使用它的扩展形式,PEM 格式,一种纯文本格式,是行间包含的 X.509 证书 (RFC5280) 的 Base64 编码

"-----BEGIN CERTIFICATE-----" 
...
"-----END CERTIFICATE-----" 

或者

"-----BEGIN X509 CERTIFICATE----" 
...
"-----END X509 CERTIFICATE----". 

证书本身是 RFC 5280 中描述的 ASN.1 结构的 DER 编码。有关 DER(可区分编码规则)的详细信息,请参见X.690

大多数证书都以 PEM 格式或直接以其原始 DER 编码形式存储。

于 2011-07-03T17:38:37.853 回答
-2

此页面上有大量关于规格的信息和参考资料。 http://en.wikipedia.org/wiki/Digital_Signature_Algorithm

于 2011-06-27T03:51:02.257 回答