我想使用带有netchans和mechansim的Web服务来保护Web服务:“基于SSL的消息身份验证”,并且我会做所有Netbeans文档和
告诉Sun WSIT教程。我也将生成的SSL密钥导入到客户端jre中,但是当我运行客户端代码时,仍然出现此错误:


  无法访问位于https://localhost:8443/SecureWebService?wsdl的WSDL。它失败:sun.security.validator.ValidatorExcepti上:PKIX路径构建失败:un.security.provider.certpath。 SunCertPathBuilderException:无法找到请求的目标的有效证书路径。


有谁可以帮助我吗 ?

最佳答案

似乎客户端无法验证整个证书路径。客户证书是自签名的吗?可能是您的证书颁发机构未知。如果这是问题所在,则可以使用以下脚本导入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计算机上使用keytool命令。

10-07 16:48