證書,私鑰,公鑰,pfx,keystore,pem,der 都是什麼??
剛開始接觸證書,很容易就會被各種名詞整的迷迷糊糊,因為對這一塊一直不在熟悉,所以今天找機會好好看了一下關於證書的知識點,
,主要是理了一下思路。
通過搜尋引擎一搜索,我們會發現很多介紹文章,如果沒接觸過這一塊的話,一上來很多的名字就會把人繞暈了。什麼csr,crt,cer,keystore
等等。
我們知道,現在的網站為了資料的安全,往往都會使用證書進行簽名或者加密資料。可以證書的各種字尾讓人無從下手,不知道該用什麼,以及
怎麼使用。
什麼是CA?
CA就相當於一個認證機構,只要經過這個機構簽名的證書我們就可以當做是可信任的。我們的瀏覽器中,已經被寫入了預設的CA根證書。
什麼是證書?
證書就是將我們的公鑰和相關資訊寫入一個檔案,CA用它們的私鑰對我們的公鑰和相關資訊進行簽名後,將簽名信息也寫入這個檔案後生成的一個檔案。
證書格式(是一種標準):
x509 這種證書只有公鑰,不包含私鑰。
pcks#7 這種主要是用於簽名或者加密。
pcks#12 這種含有私鑰,同時也含有公鑰,但是有口令保護。
編碼方式:
.pem 字尾的證書都是base64編碼
.der 字尾的證書都是二進位制格式
證書:
.csr 字尾的檔案是用於向ca申請簽名的請求檔案
.crt .cer 字尾的檔案都是證書檔案(編碼方式不一定,有可能是.pem,也有可能是.der)
私鑰:
.key 字尾的檔案是私鑰檔案
包含證書和私鑰:
.keystore .jks .truststore 字尾的檔案,是java搞的,java可以用這個格式。這個檔案中包含證書和私鑰,但是獲取私鑰需要密碼才可以,
這是一個證書庫,裡面可以儲存多個證書和金鑰,通過別名可以獲取到。
.pfx 主要用於windows平臺,瀏覽器可以使用,也是包含證書和私鑰,獲取私鑰需要密碼才可以
知識點:
1、使用公鑰操作資料屬於加密
2、使用私鑰操作資料屬於簽名
3、公鑰和私鑰可以互相加解密
4、不同格式的證書之間可以互相轉換
5、公鑰可以對外公開,但是私鑰千萬不要洩露,要妥善儲存
注意:在我們備份證書資訊的時候,最好使用.jks或者.pfx檔案進行儲存,這樣備份的證書檔案可以被完整的匯出。
我們在使用證書的時候,要根據不同平臺,不同應用的要求,轉換成不同的格式進行使用。