Tomcat CXF SSL双向认证不通过-浏览器已可正常访问HTTPS-帮忙看看

alawn 发布于 2013/08/11 19:32
阅读 1K+
收藏 0

详细的描述文档在:http://git.oschina.net/huliangdream/wsservices/wikis/home

服务端,客户端代码已上传到Git@OSC

服务端代码:http://git.oschina.net/huliangdream/wsservices.git

客户端代码:http://git.oschina.net/huliangdream/wsclient.git

服务端已部署到服务器:https://112.124.17.226/ws/services/helloWorldFacade?wsdl

将证书browser.p12导入浏览器后已可正常访问(所有证书的密码为123456)

现在通过CXF客户端调用时报错

(错误详细信息在:http://git.oschina.net/huliangdream/wsservices/wikis/home

证书是用java keytool生成的,如下:

1.生成服务端证书
keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:/deve/keys/ssl/tomcat.keystore -dname "CN=112.124.17.226,OU=huliang,O=huliang,L=hangzhou,ST=Zhejiang,C=CN" -validity 3650 -storepass 123456 -keypass 123456
2.导出服务端证书
keytool -export -alias tomcat -keystore C:/deve/keys/ssl/tomcat.keystore -storepass 123456 -rfc -file C:/deve/keys/ssl/tomcat.cer
3.生成客户端证书
keytool -genkey -v -alias client -keyalg RSA -keystore C:/deve/keys/ssl/client.keystore -dname "CN=client,OU=huliang,O=huliang,L=hangzhou,ST=Zhejiang,C=CN" -validity 3650 -storepass 123456 -keypass 123456
4.导出客户端证书
keytool -export -alias client -keystore C:/deve/keys/ssl/client.keystore -storepass 123456 -rfc -file C:/deve/keys/ssl/client.cer
5.把客户端证书加入服务端证书信任列表
keytool -import -file C:/deve/keys/ssl/client.cer -storepass 123456 -keystore C:/deve/keys/ssl/tomcat.truststore -alias client
6.生成客户端信任列表 (客户端信任的服务端)
keytool -import -file C:/deve/keys/ssl/tomcat.cer -storepass 123456 -keystore C:/deve/keys/ssl/client.truststore -alias tomcat
1.浏览器证书(已可正常访问)
keytool -validity 365 -genkeypair -v -alias browser -keyalg RSA -storetype PKCS12 -keystore C:/deve/keys/ssl/browser.p12 -dname "CN=browser,OU=huliang,O=huliang,L=hangzhou,ST=Zhejiang,c=cn" -storepass 123456 -keypass 123456
2、从客户端证书库中导出客户端证书
keytool -export -v -alias browser -keystore C:/deve/keys/ssl/browser.p12 -storetype PKCS12 -storepass 123456 -rfc -file C:/deve/keys/ssl/browser.cer
3、将客户端证书导入到服务器证书库(使得服务器信任客户端证书)
keytool -import -v -alias browser -file C:/deve/keys/ssl/browser.cer -keystore C:/deve/keys/ssl/tomcat.truststore -storepass 123456
keytool -list -keystore C:/deve/keys/ssl/tomcat.truststore -storepass 123456

加载中
0
alawn
alawn
这位同学为什么 ......,是看出哪配的有问题吗?请明示。。。有人知道吗,指点一下
0
alawn
alawn
自己顶下,来个人帮忙看看吧。。。
0
袁不语
袁不语
有没有服务器端的错误信息?
0
alawn
alawn

感谢您的回答。

服务端没日志,加了log4j和设置了 System.setProperty("javax.net.debug", "all");也没有。。。这正常吗??

0
alawn
alawn
 这么多人试我Tomcat服务器的管理密码。。。有空帮帮看看呀。。。
0
alawn
alawn

问题已解决,去掉CXF配置http:conduit中的

<sec:cipherSuitesFilter>
<sec:include>.*_EXPORT_.*</sec:include>
<sec:include>.*_EXPORT1024_.*</sec:include>
<sec:include>.*_WITH_DES_.*</sec:include>
<sec:include>.*_WITH_NULL_.*</sec:include>
<sec:exclude>.*_DH_anon_.*</sec:exclude>
</sec:cipherSuitesFilter>
但这是为什么呢?

0
alawn
alawn

另外不用CXF http:conduit配置密钥,通过下面方法也不行

System.setProperty("javax.net.ssl.trustStore", "C:/deve/keys/ssl/client.truststore");  

        System.setProperty("javax.net.ssl.trustStorePassword","123456");
        System.setProperty("javax.net.ssl.trustStoreType","JKS");
        
        System.setProperty("javax.net.ssl.keyStoreType","PKCS12") ;  
        System.setProperty("javax.net.ssl.keyStore","C:/deve/keys/ssl/browser.p12") ;  
        System.setProperty("javax.net.ssl.keyStorePassword","123456") ;
返回顶部
顶部