2009-10-21 30 views
1

我想通過mechansim使用Netbeans來保護web服務:「通過SSL進行消息身份驗證」,並且執行Netbeans文檔和Sun WSIT教程要求的所有操作。我還導入客戶端JRE生成的SSL密鑰,但是當我運行客戶端代碼,我仍然得到這個錯誤:保護webservice:有效的SSL密鑰錯誤「ValidatorException:PKIX路徑構建失敗」

未能在訪問WSDL:https://localhost:8443/SecureWebService?wsdl。失敗:sun.security.validator.ValidatorExcepti:PKIX路徑建立失敗:un.security.provider.certpath。 SunCertPathBuilderException:無法找到要求的目標的有效認證路徑。

有人可以幫我嗎?

回答

1

看起來好像客戶端無法驗證整個證書路徑。客戶證書是否自簽名?可能是你的證書權限是未知的。如果是這樣的問題,你可以使用這個腳本導入您的CA的公鑰:

#!/bin/bash 

# path to your cacerts file 
CACERTS="/etc/java-6-sun/security/cacerts" 
# sun's default password - change if necessary 
CACERTSPASS="changeit" 

# change this 
ALIAS="myAlias" 
CERTPATH="/path/to/ca.der" 

if [ `keytool -list -keystore $CACERTS -storepass $CACERTSPASS | grep -c $ALIAS` -gt 0 ]; then 
    echo already installed 
else 
    keytool -import -keystore $CACERTS -storepass $CACERTSPASS -alias $ALIAS -file $CERTPATH 
fi 

您可以使用在Windows機器上的密鑰工具命令爲好。

0

你可以嘗試在sfussenegger的劇本更換密鑰工具命令:

keytool -import -keystore $CACERTS -storepass $CACERTSPASS -alias $ALIAS -file $CERTPATH -trustcacerts 

然後腳本將導入您的自簽名證書到根密鑰存儲爲可信CA證書,這將提供一個有效的認證路徑驗證服務器的身份。

相關問題