密鑰庫文件格式(Keystore)
l 格式:JKS 拓展名:.jks/.ks
JKS (Java KeyStore): 密鑰庫的Java實現版本,provider為SUN,java的密鑰存儲文件,二進制格式,是一種 Java 特定的密鑰文件格式, JKS的密鑰庫和私鑰用不同的密碼進行保護。
l 格式:JCEKS 拓展名:.jce
JCEKS (JCE Keystore):密鑰庫的JCE實現版本,provider為SUN JCE,java的密鑰存儲文件,在JCEKS中存儲和裝載不同條目的過程類似于JKS,相對于JKS安全級別更高,JDK1.4版本后可直接使用,保護Keystore私鑰時采用TripleDES。
l 格式:PKCS12 拓展名:.p12/.pfx
PKCS12:是公鑰加密標準,它規定了可包含所有私鑰、公鑰和證書。其以二進制格式存儲,也稱為 PFX 文件,在windows中可以直接導入到密鑰區,密鑰庫和私鑰用相同密碼進行保護
l 格式:BKS 拓展名:.bks
BKS(Bouncycastle Keystore):密鑰庫的BC實現版本,provider為BC,保護Keystore私鑰時采用TripleDES,它能夠防止證書庫被不小心修改(Keystore的keyentry改掉1個bit都會產生錯誤),BKS能夠跟JKS互操作。
l 格式:BUER 拓展名:.ubr
BUDER(Bouncycastle UBER Keystore):密鑰庫的BC更安全實現版本,provider為BC,當密碼是通過命令行提供的時候,它只能跟keytool交互。整個keystore是通過PBE/SHA1/Twofish加密,因此 keystore能夠防止被誤改、察看以及校驗。SunJDK允許你在不提供密碼的情況下直接加載一個Keystore,類似cacerts,UBER不 允許這種情況。
證書文件格式(Certificate)
l 格式:DER 拓展名:.cer/.crt/.rsa
DER(ASN .1 DER):用于存放證書,不含私鑰,為二進制。
u .DER =擴展名.DER用于二進制DER編碼的證書。這些證書也可以用CER或者CRT作為擴展名。
u .CRT = 擴展名CRT用于證書。證書可以是DER編碼,也可以是PEM編碼。擴展名CER和CRT幾乎是同義詞。這種情況在各種unix/linux系統中很常見。
u .CER = CRT證書的微軟型式。可以用微軟的工具把CRT文件轉換為CER文件(CRT和CER必須是相同編碼的,DER或者PEM)。擴展名為CER的文件可以被IE識別并作為命令調用微軟的cryptoAPI(具體點就是rudll32.exe cryptext.dll, CyrptExtOpenCER),進而彈出一個對話框來導入并/或查看證書內容。
l 格式:PKCS7 拓展名:.p7b/.p7r
PKCS#7,也叫做加密消息的語法標準,由RSA安全體系在公鑰加密系統中交換數字證書產生的一種加密標準。
其中p7b以樹狀展示證書鏈,不含私鑰;p7r為CA對證書請求簽名的回復,只能用于導入
l 格式:CMS 拓展名:.p7c/.p7m/,p7s
CMS(Cryptographic Message Syntax):
1、p7c:只保存證書;
2、p7m:signature with enveloped data;
3、p7s:時間戳簽名文件
l 格式:PEM 拓展名:.pem
PEM(Privacy nhanced Mail):該編碼格式在RFC1421中定義,但他也同樣廣泛運用于密鑰管理,實質上是 Base64 編碼的二進制內容。
l 格式:PKCS10 拓展名:.p10/.csr
CSR:證書簽發請求(Certificate Signing Request),或者叫做認證申請,是一個發送到CA的請求認證信息。有兩種格式,應用最廣泛的是由PKCS#10定義的,另一個用的少的是由SPKAC定義的,主要應用于網景瀏覽器。
P10:證書請求文件,類似于CSR文件。
l 格式:SPC 拓展名:.pvk/.spc
SPC(Software Publishing Certificate):微軟公司特有的雙證書文件格式,經常用于代碼簽名,其中.pvk用于保存私鑰、.spc用于保存公鑰。