tomcat配置https访问实现ssl单向认证
https    2017-05-26 11:37:18    22    0    0
zejoe   https

双向认证:

  1. 客户端认证服务器
  2. 服务器认证客户端

 

单向认证:客户端认证服务器

 

 

tomcat配置https访问,ssl单向认证:

  1. 利用jdk的keytool工具生成自签名ssl证书:(这里没使用openssl制作证书)
    1. 生成自签名密钥库,执行以下命令后在指定目录生成xxx.keystore文件
      keytool -genkey -alias tomcat -keyalg RSA -keypass 123456 -storepass 123456 -keystore server.keystore -validity 3600
      #指定了私钥密码、密钥库密码、密钥别名等信息  
    2. 从密钥库导出证书,执行以下命令后在指定目录生成xxx.cer文件
      keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass 123456
      #根据已知的密钥别名和密钥库存取密码导出证书  
  2. tomcat conf/server.xml中配置ssl证书
    1. 取消以下配置的注释  
      <Connector 
          port="8443" 
          protocol="HTTP/1.1" 
          SSLEnabled="true" 
          maxThreads="150" 
          scheme="https"
          secure="true" 
          clientAuth="false" 
          sslProtocol="TLS" />    
    2. 添加keystoreFile属性和keystorePass属性
      <Connector 
          port="8443" 
          protocol="HTTP/1.1" 
          SSLEnabled="true" 
          maxThreads="150" 
          scheme="https"
          secure="true" 
          clientAuth="false" 
          sslProtocol="TLS"
          keystoreFile="/home/zzj/software/tomcat7/server.keystore"
          keystorePass="123456" /> 
      <!--keystoreFile必须为全路径-->    
  3. 重启tomcat,访问:https://localhost:8443/ 可以看到tomcat页面,但是访问默认的8080端口也是可以访问的
  4. 在web xml中配置应用使用 SSL,增加如下配置,只能通过https访问,否则,post请求会报405,http://localhost:8080/ ,get请求会自动重定向至https://localhost:8443/ 
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>securedapp</web-resource-name>
            <!--整个应用都要求是 HTTPS 访问-->
            <url-pattern>/*</url-pattern> 
        </web-resource-collection>
        <user-data-constraint>
            <!--打开ssl,关闭改为NONE-->
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>​ 

上一篇: HTTP基本认证,服务器认证客户端(java-python)

下一篇: 无

22 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航