spring+springmvc基于axis1.4的webservice开发与https配置(三)

(三)关于https的单向验证配置

讲个概念,什么是单向验证什么是双向验证,通俗从效果来说,单向认证只要求站点部署了ssl证书就行,任何用户都可以去访问(IP被限制除外等),(晚些我们也会讲的简单的ip限制如何实现,)只是服务端提供了身份认证。

而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些.
1.tomcat的配置

server.xml

 <!-- keystoreFile是证书的路径,与项目中systemconfig配置文件中位置一致    --> 
    <Connector SSLEnabled="true" clientAuth="false" keystoreFile="D:\certificateLocation\certificate.jks" keystorePass="changeit" maxThreads="150" port="443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>
 <!-- clientAuth="false" 代表ssl单向验证,即只验证服务端-->  

web.xml

    <!--  屏蔽http链接,所有http访问都重定向为https访问-->
<login-config>  
<auth-method>CLIENT-CERT</auth-method>  
 <realm-name>Client Cert Users-only Area</realm-name>
</login-config>  
<security-constraint>
<web-resource-collection >  
            <web-resource-name >SSL</web-resource-name>  
            <url-pattern>/*</url-pattern>
  </web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
 </security-constraint> 

证书的生成与公钥的导入

工具类下载(需要一分积分)

http://download.csdn.net/detail/shaguatao/9607810

当然不希望花积分的朋友我大概讲下我的工具类的思路.配置文件的工具类可以自己实现,通过把配置文件转换成map(key-value)结构读取,其实也可以使用spring中的@value读取配置文件,这个我后面会讲到.证书生成类,是利用Java中的keytool工具生成的,要利用到命令行,而导入公钥的批处理文件是只要 传入公钥地址这一参数就可以的了.

当然导入证书的时候会让你是否确认该证书,在控制台回复Y按下回车键即可.

此时,你的webservice的客户端访问的地址就应该使用https协议了.并且我这里是使用了443端口(ssl协议的默认端口,这里起到省略端口号的作用)tomcat为了区分使用了8443作为默认的ssl通讯的端口号


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值