keystore可以看成一個(gè)放key的庫(kù)顾孽,key就是公鑰,私鑰,數(shù)字簽名等組成的一個(gè)信息罪塔。
truststore是放信任的證書(shū)的一個(gè)store.
truststore和keystore的性質(zhì)是一樣的,都是存放key的一個(gè)倉(cāng)庫(kù)养葵,區(qū)別在于征堪,truststore里存放的是只包含公鑰的數(shù)字證書(shū),代表了可以信任的證書(shū)关拒,而keystore是包含私鑰的佃蚜。
PEM,它是由RFC1421至1424定義的一種數(shù)據(jù)格式着绊。其實(shí)前面的.cert和.key文件都是PEM格式的谐算,只不過(guò)在有些系統(tǒng)中(比如Windows)會(huì)根據(jù)擴(kuò)展名不同而做不同的事。所以當(dāng)你看到.pem文件時(shí)归露,它里面的內(nèi)容可能是certificate也可能是key洲脂,也可能兩個(gè)都有,要看具體情況剧包∪迹可以通過(guò)openssl查看。
PKCS 全稱是 Public-Key Cryptography Standards玄捕。是由 RSA 實(shí)驗(yàn)室與其它安全系統(tǒng)開(kāi)發(fā)商為促進(jìn)公鑰密碼的發(fā)展而制訂的一系列標(biāo)準(zhǔn)踩蔚,PKCS 目前共發(fā)布過(guò) 15 個(gè)標(biāo)準(zhǔn)。常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常見(jiàn)通用的證書(shū)格式枚粘。所有的證書(shū)都符合為Public Key Infrastructure (PKI) 制定的 ITU-T X509 國(guó)際標(biāo)準(zhǔn)馅闽。
PKCS#7 常用的后綴是: .P7B .P7C .SPC
PKCS#12 常用的后綴有: .P12 .PFX
X.509 DER 編碼(二進(jìn)制)的后綴是: .DER(這些文件也可能承載CER或CRT擴(kuò)展。 正確的說(shuō)法是“我有一個(gè)DER編碼的證書(shū)”不是“我有一個(gè)DER證書(shū)”) .CER .CRT
X.509 PAM 編碼(Base64)的后綴是: .PEM .CER .CRT
.cer/.crt是用于存放證書(shū),它是2進(jìn)制形式存放的福也,不含私鑰局骤。
.pem跟crt/cer的區(qū)別是它以Ascii來(lái)表示。
pfx/p12用于存放個(gè)人證書(shū)/私鑰暴凑,他通常包含保護(hù)密碼峦甩,2進(jìn)制方式
p10是證書(shū)請(qǐng)求
p7r是CA對(duì)證書(shū)請(qǐng)求的回復(fù),只用于導(dǎo)入
p7b以樹(shù)狀展示證書(shū)鏈(certificate chain)现喳,同時(shí)也支持單個(gè)證書(shū)凯傲,不含私鑰。
ASN.1是一套完整的數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)存儲(chǔ)格式描述
BER/DER是ASN.1的二進(jìn)制編碼方式
PEM是DER編碼再進(jìn)行Base64編碼后的文本格式
上面三個(gè)都是“表示格式”編碼--決定擴(kuò)展名方式:
1).DER 擴(kuò)展名
.DER = DER擴(kuò)展用于二進(jìn)制DER編碼證書(shū)嗦篱。這些文件也可能承載CER或CRT擴(kuò)展冰单。 正確的說(shuō)法是“我有一個(gè)DER編碼的證書(shū)”不是“我有一個(gè)DER證書(shū)”。
2).PEM 擴(kuò)展名
.PEM = PEM擴(kuò)展用于不同類型的X.509v3文件灸促,是以“ - BEGIN ...”前綴的ASCII(Base64)數(shù)據(jù)诫欠。
3)常見(jiàn)的擴(kuò)展
3.1).CRT 擴(kuò)展名
.CRT = CRT擴(kuò)展用于證書(shū)。 證書(shū)可以被編碼為二進(jìn)制DER或ASCII PEM浴栽。 CER和CRT擴(kuò)展幾乎是同義詞荒叼。 最常見(jiàn)的于Unix 或類Unix系統(tǒng)。
3.2).CER擴(kuò)展名
CER = .crt的替代形式(Microsoft Convention)您可以在微軟系統(tǒng)環(huán)境下將.crt轉(zhuǎn)換為.cer(.both DER編碼的.cer典鸡,或base64 [PEM]編碼的.cer)被廓。
可參考:https://support.comodo.com/index.php?/Knowledgebase/Article/View/361/17/how-do-i-convert-crt-file-into-the-microsoft-cer-format
.cer文件擴(kuò)展名也被IE識(shí)別為 一個(gè)運(yùn)行MS cryptoAPI命令的命令(特別是rundll32.exe cryptext.dll,CryptExtOpenCER)椿每,該命令顯示用于導(dǎo)入和/或查看證書(shū)內(nèi)容的對(duì)話框。
3.3).KEY 擴(kuò)展名
.KEY = KEY擴(kuò)展名用于公鑰和私鑰PKCS#8英遭。 鍵可以被編碼為二進(jìn)制DER或ASCII PEM间护。