wildfly9 配置SSL单向认证/https

D:\>keytool -genkey -keystore cdi-init.keystore -alias cdi-init -keyalg RSA -keysize 2048 -validity 3650

输入密钥库口令:[zhaoqian]

再次输入新口令:

您的名字与姓氏是什么?

[Unknown]: localhost         //对应域名

您的组织单位名称是什么?

[Unknown]: cdi-init

您的组织名称是什么?

[Unknown]: cdi-init.org

您所在的城市或区域名称是什么?

[Unknown]: beijing

您所在的省/市/自治区名称是什么?

[Unknown]: beijing

该单位的双字母国家/地区代码是什么?

[Unknown]: cn

CN=loaclhost, OU=cdi-init, O=cdi-init.org, L=beijing, ST=beijing, C=cn是否正确?

[否]: y

 

输入 <tomcat> 的密钥口令

(如果和密钥库口令相同, 按回车):

================================================================

D盘下生成 cdi-init.keystore .将此文件放到Wildfly下的..\standalone\configuration文件夹下.

======================命令========================================

keytool -export -alias cdi-init -keystore cdi-init.keystore -storepass zhaoqian -rfc -file cdi-init.cer

将生成一个cdi-init.cer 文件.将此文件放到Wildfly下的..\standalone\configuration文件夹下.

================================================================

//一次性生成keystore,可重命名为jks ,  keypass和storepass 密码要设置一致
keytool -genkey -alias lixj -keypass lixj@123 -keyalg RSA -keysize 1024 -validity 3650 -keystore d:/lixj.keystore -storepass lixj@123 -dname "CN=(单位),OU=(组织),O=(公司),L=(福州),ST=(福建),C=(中国)"

//生成客户端证书
keytool -export -alias lixj -file d:/lixj.cer -keystore d:/lixj.keystore -storepass lixj@123

================================================================

配置wildfly https 单向认证

步骤一,F:\server\wildfly-9.0.2\standalone\configuration\standalone.xml 的 security-realms下添加节点数据:

<security-realms>

    ...

    <security-realm name="SslRealm">

        <server-identities>

            <ssl>

                <keystore path="cdi-init.keystore" relative-to="jboss.server.config.dir" keystore-password="zhaoqian"/>

            </ssl>

        </server-identities>

    </security-realm>

</security-realms>

步骤二,配置节点下的数据,添加一个新的https-listener

 <server name="default-server">
                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                <https-listener name="https" socket-binding="https" security-realm="SslRealm"/>
                <host name="default-host" alias="localhost">
      <!--
      <location name="/" handler="welcome-content"/>
      -->
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
 </server>

================================================================

成功访问: https://localhost:8443  即可。

===============================================================

默认使用SSL安全访问,在web工程的web.xml配置如下:

 <login-config>
         <!-- Authorization setting for SSL -->
        <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><!-- 全站使用SSL-->
        </web-resource-collection>
        <user-data-constraint>
            <description>SSL required</description>
            <!-- CONFIDENTIAL: 要保证服务器和客户端之间传输的数据不能够被修改,且不能被第三方查看到 -->
            <!-- INTEGRAL: 要保证服务器和client之间传输的数据不能够被修改 -->
            <!-- NONE: 指示容器必须能够在任一的连接上提供数据。(即用HTTP或HTTPS,由客户端来决定)-->
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

 

posted @ 2016-01-15 16:14  李小加  阅读(2108)  评论(0编辑  收藏  举报