2013-03-20 64 views
1

我需要從我們的JKS密鑰庫中提取我們的SSL證書和私鑰並將其發送給我們正在與之連接的第三方供應商。創建密鑰庫並導入證書的人已不在公司,因此我不知道我特別需要使用哪個別名。如何知道哪個別名包含Java密鑰庫中的證書和私鑰?

證書和私鑰是否會從相同的別名中提取?我的密鑰庫中有5個別名。 3日期爲2010年,2日期爲2012年。2012別名具有PrivateKeyEntry和trustedCertEntry的條目類型。 2010年3月爲trustedCertEntry。所有5個都在有效日期範圍內,表示沒有任何過期。

我的理解是,PrivateKeyEntry包含私鑰和證書鏈?這是否意味着證書和私鑰都應該從相同的別名中提取?

我在這裏沒有很多錯誤空間,並且想要確保我完全理解我要輸出和發送的內容。

+4

「我需要從我們的JKS密鑰庫中提取我們的SSL證書和私鑰並將其發送給我們正在與之連接的第三方供應商。」這裏有嚴重的問題。您的私鑰是一種寶貴的安全資源。您將它發送到任何地方的時刻都會受到影響,並且不能再用於它的目的。如果外部供應商要求你的私鑰,那麼它顯然是嚴重無能的證據。讓供應商爲任何目的生成自己的密鑰,例如測試。請**不要低估你建議的嚴肅性。 – EJP 2013-03-20 23:33:09

回答

0

用於證書的別名不必與私鑰對應。所以,你必須抓住機會。

編輯:

我還沒有真正嘗試過這一點。但它確實無關緊要,因爲證書取決於公私鑰。密鑰庫中給出的密碼只是保護它們並僅將其提供給可信用戶的一種方法。所以,我建議你生成證書並使用getEncoded方法將它們與另一個進行比較。這會給你的二進制文件,你可以比較它們。

+0

很高興知道,謝謝。密鑰庫從我們的JBoss配置中獲得。不幸的是,我沒有看到任何內容表明使用了別名。 keytool成功地從PrivateKeyEntry中導出了一個證書,所以我將不得不相信現在是正確的。 – framauro13 2013-03-20 19:53:54

+0

我標記你的答案爲可接受的,因爲你是對的,技術上沒有辦法知道,所以這是對我的瞭解。 最後一個問題,(如果不符合禮儀,我會發一個新帖子):在這種情況下,私鑰和證書是從相同的別名中導出的。當我將私鑰導出到新的密鑰庫(PKCS)時,在發送密鑰前更改密碼是否與以前導出的證書有關係?例如:我將證書導出到文件中,然後使用與舊密鑰庫不匹配的新密碼將私鑰導出到PKCS P12文件。 – framauro13 2013-03-20 21:59:38

+0

@ framauro13:更新了答案看一看。此外,請讓我知道問題的解決方案 – 2013-03-20 23:49:41

相關問題