我正在尝试为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>"/>
谢谢!
答案 0 :(得分:0)
我解决了这个问题,不知怎的,我需要添加到startup.bat文件中:
set CATALINA_OPTS=-Djavax.net.ssl.trustStore=%CLIENT_CERT% -Djavax.net.ssl.trustStorePassword=<pasword>
然后它奏效了。