【密码学】《PKI/CA与数字证书》书籍读后感(二)
背景
总结和归纳《PKI/CA与数字证书》书籍读后感 第二部分
正文
问题:PKCS1,PKCS7,PKCS8,PKCS12等等PKCS系列是什么东西?
答案:PKCS是一套公钥密码学标准,其定义范围涵盖了证书签名、加密算法、填充模式及校验流程等。可以说是PKI体系里面的的证书和密钥的存储语法,或者可成为存储的规范和标准,是PKI体系是数字证书相关的体系
PKCS1,7,8,12等等都是用于证书和密钥的存储相关的各种不同的标准
例如,
PKCS7是Public-Key Cryptography Standards系列的一员,主要用来存储签名或者加密后的数据,比如证书或者CRL。PKCS7可以用原始的DER格式进行存储,也可以使用PEM格式进行存储。
私钥常用的存储语法和标准为:PKCS8
证书和私钥同时存储的语法和标准为:PKCS12,通常生成的证书文件以pfx或p12(微信支付用的就是这个文件名格式的证书?),和PKCS7相比,PKCS12可以额外存储私钥
问题:PEM和DER的区别?
答案:公钥证书格式标准X.509中定义了证书的格式PEM和DER
该标准不仅可以处理 RSA 私钥,还可以处理其他算法。PKCS8 私钥通常通过 PEM 编码格式进行交换。
1.PEM是基于Base64编码的证书格式,扩展名包括PEM、CRT和CER。Linux系统使用CRT,Windows系统使用CER。PEM证书通常将根证书、中间证书和用户证书分开存放,主要用于Apache和Nginx。
2.DER是最流行的编码格式,用于在文件中存储 X.509 证书、PKCS8 私钥等数据。这是一种二进制编码,无法使用文本编辑器查看生成的内容。
问题:JAVA支持哪些PKCS系列相关的标准
答案:JAVA支持PKCS8标准的密钥,不支持PKC7标准的密钥,如果需要支持PKCS7,需要引入其他的第三方库:https://my.oschina.net/resky/blog/4818564
参考资料
1.《PKI/CA与数字证书》
2. https://blog.csdn.net/superfjj/article/details/126165110
3.https://www.zhihu.com/question/528647833/answer/2447194991
4.https://zhuanlan.zhihu.com/p/461349946
5.https://baike.baidu.com/item/PKCS/1042350?fr=aladdin