1. 程式人生 > >證書,私鑰,公鑰,pfx,keystore,pem,der 都是什麼??

證書,私鑰,公鑰,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檔案進行儲存,這樣備份的證書檔案可以被完整的匯出。


我們在使用證書的時候,要根據不同平臺,不同應用的要求,轉換成不同的格式進行使用。