2011-04-20 45 views
1

我的應用程序需要與多個安全服務器通信。多個證書導入問題

我使用密鑰工具導入證書。

證書導入步驟:

keytool -import -keystore aaa.jks -file aaa.co.uk.cer 

keytool -import -keystore bbb.jks -file bbb.co.uk.cer 

它正常工作與一個證書,但只要我導入第二個證書上一個停止工作。

錯誤:

Exception:javax.naming.CommunicationException: 
simple bind failed: aaa.co.uk:636 
[Root exception is javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

我也試過下列步驟,但它仍然是失敗的:

keytool -import -keystore aaa.jks -alias ms -file aaa.co.uk.cer 

keytool -import -alias ms -file bbb.co.uk.cer 

我想我應該是附加在一個密鑰庫中的證書,但不知道該怎麼辦它。

任何想法如何做到這一點還是我失去了一些東西?

ENV:Java 1.6的
應用服務器:Glassfish的

回答

1

也許你導入這兩個證書,以相同的別名?

告訴我們keytool您正在使用的命令行以及第二次導入後的「停止工作」。

+0

@BN - thx您的建議。我已經嘗試過,但它不工作,除非我使用錯誤的方式? Plz看到更新的問題。 – JSS 2011-04-20 13:18:35

+0

@BN thx建議。 – JSS 2011-04-20 13:44:55

2

感謝@BertNase的建議。

以下導入命令有固定的問題:

keytool -import -keystore myStore.jks -alias aliasA -file aaa.co.uk.cer 
keytool -import -keystore myStore.jks -alias aliasB -file bbb.co.uk.cer 

現在,該命令將導入兩個證書在同一密鑰庫