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>