密钥库文件格式【Keystore】

格式

扩展名

描述

特点

JKS

.jks/.ks

【Java Keystore】密钥库的Java实现版本,provider为SUN

密钥库和私钥用不同的密码进行保护

JCEKS

.jce

【JCE Keystore】密钥库的JCE实现版本,provider为SUN JCE

相对于JKS安全级别更高,保护Keystore私钥时采用TripleDES

PKCS12

.p12/.pfx

【PKCS #12】个人信息交换语法标准

1、包含私钥、公钥及其证书
2、密钥库和私钥用相同密码进行保护

BKS

.bks

【Bouncycastle Keystore】密钥库的BC实现版本,provider为BC

基于JCE实现

UBER

.ubr

【Bouncycastle UBER Keystore】密钥库的BC更安全实现版本,provider为BC

 

证书文件格式【Certificate】

格式

扩展名

描述

特点

DER

.cer/.crt/.rsa

【ASN .1 DER】用于存放证书

不含私钥、二进制

PKCS7

.p7b/.p7r

【PKCS #7】加密信息语法标准

1、p7b以树状展示证书链,不含私钥
2、p7r为CA对证书请求签名的回复,只能用于导入

CMS

.p7c/.p7m/.p7s

【Cryptographic Message Syntax】

1、p7c只保存证书
2、p7m:signature with enveloped data
3、p7s:时间戳签名文件

PEM

.pem

【Printable Encoded Message】

1、该编码格式在RFC1421中定义,其实PEM是【Privacy-Enhanced Mail】的简写,但他也同样广泛运用于密钥管理
2、ASCII文件
3、一般基于base 64编码

PKCS10

.p10/.csr

【PKCS #10】公钥加密标准【Certificate Signing Request】

1、证书签名请求文件
2、ASCII文件
3、CA签名后以p7r文件回复

SPC

.pvk/.spc

【Software Publishing Certificate】

微软公司特有的双证书文件格式,经常用于代码签名,其中
1、pvk用于保存私钥
2、spc用于保存公钥