我正在尝试使用Eclipse和Tomcat服务器创建运行在HTTPS(仅HTTPS)上的简单SOAP Web服务。我创建了一个密钥库并编辑了服务器的server.xml文件以使其使用它,像这样
<Connector SSLEnabled="true" clientAuth="false"
keystoreFile="path-to-my-keystore"
keystorePass="pass-to-my-keystore" maxThreads="150" port="8443" protocol="HTTP/1.1"
scheme="https" secure="true" sslProtocol="TLS"/>
我更改了应用程序的web.xml,并添加了传输保证机密,例如
<security-constraint>
<web-resource-collection>
<web-resource-name>securedap</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
我还在<%JAVA_HOME%> / jre / lib / security / cacerts中的cacert中添加了CA证书。但是,当我尝试创建Web服务时,它给了我以下错误:
IWAB0489E将Web服务部署到Axis运行时时出错
axis-admin失败,原因是 {http://schemas.xmlsoap.org/soap/envelope/} Server.userException javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路径验证 失败:java.security.cert.CertPathValidatorException:基本 约束检查失败:这不是CA证书
我不知道怎么了。我已经花了数小时寻找解决方案,但是它根本没有用。