Tomcat clientAuth =“want”删除请求证书并处理请求

时间:2016-01-14 06:25:30

标签: tomcat ssl soap

我正在尝试为SOAP请求添加安全性。我想在两个层面允许它:1。基本的ssl。 2.带证书的SSL。

我尝试在tomcat中设置Server.xml以使用clientAuth =“want”,结果并不像我预期的那样:

当我有一个不能识别证书的证书(在tomcat中)(在soap中)时,Tomcat只删除SOAP证书(javax.servlet.request.X509Certificate为null)并让我的服务器处理soap请求。休息按预期工作。

我是否有办法设置Tomcat服务器,因此它会阻止不受信任的cerificates,但让没有证书的请求通过?

到目前为止,我的server.xml是:

<Connector SSLEnabled="true" clientAuth="want" keystoreFile="${user.home}/<some>.keystore" keystorePass="<some pass>" 
maxThreads="200" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" 
scheme="https" secure="true" sslProtocol="TLS" truststoreFile="${user.home}/<some>.keystore" truststorePass="<some pass>"/>   

谢谢!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,不知怎的,我需要添加到startup.bat文件中:

set CATALINA_OPTS=-Djavax.net.ssl.trustStore=%CLIENT_CERT% -Djavax.net.ssl.trustStorePassword=<pasword>

然后它奏效了。