我正在尝试使用客户端身份验证在ssl模式下运行jetty。 我传递keystore.But而不是传递truststore,我将我的证书导入java / jre / lib / security / cacerts。请找到jetty.xml配置
<Call class="java.lang.System" name="setProperty">
<Arg>javax.net.ssl.keyStore</Arg>
<Arg><SystemProperty name="jetty.home" default="." />/../workspace/conf/xyz.ks</Arg>
</Call>
<Call class="java.lang.System" name="setProperty">
<Arg>javax.net.ssl.keyStorePassword</Arg>
<Arg>abc</Arg>
</Call>
<Call class="java.lang.System" name="setProperty">
<Arg>javax.net.ssl.keyStoreType</Arg>
<Arg>JKS</Arg>
</Call>
Socketconnector
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.security.SslSocketConnector">
<Set name="Port"><SystemProperty name="port"/></Set>
<Set name="maxIdleTime">600000</Set>
<Set name="keystore"><SystemProperty name="javax.net.ssl.keyStore"/></Set>
<Set name="keyPassword"><SystemProperty name="javax.net.ssl.keyStorePassword"/></Set>
<!--Set name="truststore"><SystemProperty name="javax.net.ssl.trustStore"/></Set>
<Set name="trustPassword"><SystemProperty name="javax.net.ssl.trustStorePassword"/></Set-->
<Set name="needClientAuth">true</Set>
</New>
</Arg>
</Call>
现在,当我点击网址https://localhost:1234/xyz?wsdl
时,我会收到由于null证书链引起的bad_certificate异常。
i)java cacerts可以用来配置jetty吗? ii)是因为webservice调用,因为在日志中它显示为服务器已启动。
我正在使用jetty 6和cxf 2.6 webservice。
感谢, Keerthi。
答案 0 :(得分:0)
将您的客户端证书添加到浏览器证书存储区后,您应该尝试从浏览器访问您的URL。顺便说一句,您将知道您的错误是由于服务器端还是客户端错误配置造成的。