美文网首页
实现对ssl的支持

实现对ssl的支持

作者: 哈利罗乎 | 来源:发表于2017-01-03 17:20 被阅读0次

实现对SSL的支持

1.生成数字证书

生成步骤大概如下:

  • 设定数字证书的路径:D:\Program Files\httpssl\localhost.keystore
  • 利用jdk的keytool工具生成证书,大概涉及到的参数如下:
    • -keyalg 指定算法
    • -keysize 指定密钥大小,
    • -validity 指定有效期,单位为天
    • -alias 别名
    • -keypass 指定私钥使用密码
    • -keystore 指定密钥库名称
    • -storepass 证书库的使用密码,从里面提取公钥时需要密码
    • -dname CN拥有者名字,已办为网站名或IP+端口,如:www.baidu.com
    • OU组织机构名 O组织名 L城市 ST州或省 C国家代码
#执行生成命令
keytool -genkey -keystore "D:\Program Files\httpssl\dhope.keystore" -alias dhope -keyalg RSA


输入密钥库口令:
密钥库口令太短 - 至少必须为 6 个字符
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  dhope
您的组织单位名称是什么?
  [Unknown]:  xz.com
您的组织名称是什么?
  [Unknown]:  xz.com
您所在的城市或区域名称是什么?
  [Unknown]:  chengdu
您所在的省/市/自治区名称是什么?
  [Unknown]:  sichuan
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=dhope, OU=xz.com, O=xz.com, L=chengdu, ST=sichuan, C=cn是否正确?
  [否]:  y

输入 <dhope> 的密钥口令
        (如果和密钥库口令相同, 按回车):

2 开放tomcat的ssl

#原内容:
<--   
 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
   -->

#修改后:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
          keystoreFile="D:\Program Files\httpssl\dhope.keystore"
              keystorePass="admindhope"/>
# 其中keystroeFile是生成密钥的路径
# keystorePass是生成密钥时的密码

3 调整ShiroFilter

#新增
<bean id="sslFilter" class="org.apache.shiro.web.filter.authz.SslFilter">   
    <property name="port" value="8443"/>
</bean>
#默认的SslFilter端口为443
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
  ……
    <property name="filters">
      <map>
      ……
        <entry key="ssl" value-ref="sslFilter"/>
        ……
      </map>
    </property>
  ……
</bean>

<bean name="shiroFilterChainDefinitions" class="java.lang.String">
    ……
      /login=ssl,authc
    ……
</bean>

这样就实现了基于Shiro的SSL认证

相关文章

网友评论

      本文标题:实现对ssl的支持

      本文链接:https://www.haomeiwen.com/subject/fmdnvttx.html