- 生成keystore,在打开终端,在命令行中输入keytool -genkey -alias jboss -keyalg RSA -keystore /Users/azrael/jboss.keystore , 根据提示输入相应的信息就可以生成keystore证书,需要注意的是在Mac OS下,出现的提示信息是乱码的,需要设置一下才能正确显示中文,可以参考Mac OS 下终端 中文乱码的解决方式 ,设置终端以后就可以了。将生成的keystore证书拷贝到${JBOSS_HOME}/server/default/conf目录下;
- 修改${JBOSS_HOME}/server/default/deployer/jbossweb.sar/server.xml,将下列XML片段的注释去掉,并将keystoreFile的路径指向刚才拷贝过来的keystore证书,即${JBOSS_HOME}/server/default/conf/jboss.keystore,将keystorePass设置成在生成keystore证书时输入的密码:
- 重启JBoss服务器,输入https://localhost:8443,就可以以安全的形式访问JBoss的控制台了。但是我们也同样可以以不加密的方式访问JBoss的控制台;
- 如果要让某些页面只能以安全的形式访问,需要修改WEB应用的web.xml,在下列xml片段中
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>ssiadmin only</web-resource-name>
- <url-pattern>*.shtml</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>ssiadmin</role-name>
- </auth-constraint>
- </security-constraint>
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>ssiadmin only</web-resource-name>
- <url-pattern>*.shtml</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>ssiadmin</role-name>
- </auth-constraint>
- <user-data-constraint>
- <transport-guarantee>CONFIDENTIAL</transport-guarantee>
- </user-data-constraint>
- </security-constraint>
NONE: 对所使用的通信协议不加限制;
CONFIDENTIAL:使用加密的通信协议;
INTEGRAL: 数据必须以一种防止截取它的人阅读它的方式传送。