美文网首页
PKCS#1 PKCS#8 RSA EC的关系

PKCS#1 PKCS#8 RSA EC的关系

作者: CodingCode | 来源:发表于2020-06-11 05:54 被阅读0次

PKCS#1 vs. PKCS#8

他们指得是证书的格式。定义书写的文本格式。

PKCS#1的PEM文件如下:

-----BEGIN RSA PUBLIC KEY-----
BASE64 ENCODED DATA
-----END RSA PUBLIC KEY-----

-----BEGIN RSA PRIVATE KEY-----
BASE64 ENCODED DATA
-----END RSA PRIVATE KEY-----

PKCS#8的PEM文件如下:

-----BEGIN PUBLIC KEY-----
BASE64 ENCODED DATA
-----END PUBLIC KEY-----

----BEGIN PRIVATE KEY-----
BASE64 ENCODED DATA
-----END PRIVATE KEY-----

RSA vs. EC

他们指的是证书的类型,即加密算法。

当前PKCS#1只支持RSA类型证书。
而PKCS#8支持多种证书类型,包括RSA和EC等。
所以前面我们看到PKCS#1的格式里面第一行就指定了证书类型(BEGIN RSA PUBLIC KEY),因为它不支持其他类型,而PKCS#8的格式里面没有指定证书类型,只有(BEGIN PUBLIC KEY),它的证书类型由证书内容自包含。

那么如何区分PKCS#8的证书类型呢:

$ openssl x509 -text -noout -in ec-cert.pem | grep "Signature Algorithm"
    Signature Algorithm: ecdsa-with-SHA256
    Signature Algorithm: ecdsa-with-SHA256

$ openssl x509 -text -noout -in rsa-cert.pem | grep "Signature Algorithm"
    Signature Algorithm: sha256WithRSAEncryption
    Signature Algorithm: sha256WithRSAEncryption

这里就可以看到一个PEM证书使用的证书类型,即加密算法。

相关文章

网友评论

      本文标题:PKCS#1 PKCS#8 RSA EC的关系

      本文链接:https://www.haomeiwen.com/subject/rgkvtktx.html