-
生成keystore,在打开终端,在命令行中输入keytool -genkey -alias jboss -keyalg RSA -keystore /Users/azrael/jboss.keystore , 根据提示输入相应的信息就可以生成keystore证书,需要注意的是在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证书时输入的密码:
-
<Connector protocol="HTTP/1.1" SSLEnabled="true"
-
port="8443" address="${jboss.bind.address}"
-
scheme="https" secure="true" clientAuth="false"
-
keystoreFile="${jboss.server.home.dir}/conf/jboss.keystore"
-
keystorePass="jbosskeystorePass" sslProtocol = "TLS" />
-
重启JBoss服务器,输入,就可以以安全的形式访问JBoss的控制台了。但是我们也同样可以以不加密的方式访问JBoss的控制台;
-
如果要让某些页面只能以安全的形式访问,需要修改WEB应用的web.xml,在下列xml片段中
-
<security-constraint>
-
<web-resource-collection>
-
<web-resource-name>ssiadmin onlyweb-resource-name>
-
<url-pattern>*.shtmlurl-pattern>
-
web-resource-collection>
-
<auth-constraint>
-
<role-name>ssiadminrole-name>
-
auth-constraint>
-
security-constraint>
增加关于加密传输的参数
-
<security-constraint>
-
<web-resource-collection>
-
<web-resource-name>ssiadmin onlyweb-resource-name>
-
<url-pattern>*.shtmlurl-pattern>
-
web-resource-collection>
-
<auth-constraint>
-
<role-name>ssiadminrole-name>
-
auth-constraint>
-
<user-data-constraint>
-
<transport-guarantee>CONFIDENTIALtransport-guarantee>
-
user-data-constraint>
-
security-constraint>
则表示当用户请求shtml资源时,将使用加密的数据传输。其中transport-guarantee的可选参数类型有三个:
NONE: 对所使用的通信协议不加限制;
CONFIDENTIAL:使用加密的通信协议;
INTEGRAL: 数据必须以一种防止截取它的人阅读它的方式传送。
阅读(3742) | 评论(0) | 转发(0) |