Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat clientAuth=";“想要”;删除请求证书并处理请求_Tomcat_Ssl_Soap - Fatal编程技术网

Tomcat clientAuth=";“想要”;删除请求证书并处理请求

Tomcat clientAuth=";“想要”;删除请求证书并处理请求,tomcat,ssl,soap,Tomcat,Ssl,Soap,我正在尝试向SOAP请求添加安全性。我想在两个层次上允许它:1。基本ssl。2.带有证书的SSL 我试图将tomcat中的Server.xml设置为使用clientAuth=“want”,但结果并不像我预期的那样: 当我有一个证书(在tomcat中)不能识别一个证书(在soap中)时,tomcat只需删除soap证书(javax.servlet.request.X509Certificate为null),并让我的服务器处理soap请求。其余的按预期工作 我是否有办法设置Tomcat服务器,使其能

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

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

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

我是否有办法设置Tomcat服务器,使其能够阻止不受信任的证书,但让没有证书的请求通过

到目前为止,我的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>"/>   


谢谢大家!

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

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

然后它工作了。

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

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

然后它成功了。

我想你已经得到了你想要的:拒绝带有不可信证书的客户端,接受没有任何证书的客户端。我不明白你的问题。当客户端带有不可信的证书时,它不会阻止他!!它仅从客户端头删除证书。。。我的问题是,我想检查我的服务器代码中的证书,但我不能,因为它在“想要”模式下被删除,而客户端在“真”模式下被完全阻止。我现在明白你的意思了。奇怪。也许我帮不了你。可能尝试使用不同的http协议版本
org.apache.coyote.http11.Http11Protocol
我想你已经得到了你想要的:拒绝带有不可信证书的客户端,接受没有任何证书的客户端。我不明白你的问题。当客户端带有不可信的证书时,它不会阻止他!!它仅从客户端头删除证书。。。我的问题是,我想检查我的服务器代码中的证书,但我不能,因为它在“想要”模式下被删除,而客户端在“真”模式下被完全阻止。我现在明白你的意思了。奇怪。也许我帮不了你。可能尝试使用不同的http协议版本<代码>org.apache.coyote.http11.http11协议