2009-10-21 31 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证书,这将提供一个有效的认证路径验证服务器的身份。

相关问题