證書庫操作及理解

最近在做一個證書庫管理的東西,涉及到工具KeyTool, OpenSSL. 證書庫就是jks, pck12格式的私人證書(庫)。

[b]1. 有關JKS[/b]
jks是證書庫,可以在配置ssl的時候使用。在配置ssl時一般分爲信任庫和證書庫。具體哪個是隻個要看做什麼用途,哪個是客戶端。jks裏有KeyEntry和CertEntry, 而且可以具有多個這些Entry. KeyEntry是必須包含PrivateKey和證書(當然也包含了PublicKey)。在庫裏的每個Entry都是靠別名來識別的。

[b]2. PCK12格式證書(庫)[/b]
一般擴展名爲p12, 就是個人證書(庫)。之所以有個"(庫)",是因爲雖然它裏面只有一個證書和私鑰,但可以當作jks來使用, 當然要提供正確的口令了。

[b]3. 導入PCK12到jks[/b]
p12的證書是不能直接導入到jks的,Java的Keytool也沒有提供這個功能。 KeyTool也沒有辦法處理PrivateKey.
關於如何導入pk12,就要“曲線救國”了。第一步, 把p12裏的證書和privateKey提取出來。第二步,再把證書和privateKey導入到jks裏。這樣就可以實現導入了。至於如何實現,只用證書的話,可以把p12導入到ie裏,再把證書從ie裏導出來,這樣導出的證書就是x.509格式的,就可以用keyTool來導入到jks裏了。如果同時需要導入privateKey的話,就要用程序來實現或者找其他工具幫助了。我是用程序來做的。

[b]4. Entry的別名[/b]
jks裏的Entry通過別名來識別的,如果jks裏已經有一些證書,而你導入的時候使用的別名和庫的證書重名,就會覆蓋舊的Entry. 當然刪除的時候也是要指定別名才能刪除的。

有時間的時候,我會把這塊的相關程序整理一下發上來,供大家參考。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章