实现对ssl的支持

2017-01-03  本文已影响0人  哈利罗乎

实现对SSL的支持

1.生成数字证书

生成步骤大概如下:

#执行生成命令
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认证

上一篇 下一篇

猜你喜欢

热点阅读