HTTP协议转换成HTTPS协议
HTTP协议转换成HTTPS协议
考虑到数据的安全敏感性采用https是超文本传输协议(HTTP)加SSL/TLS(数据链接层加密技术)的组合,用以鉴定网络服务器身份并且提供用户与服务器加密通讯。
本文以jboss-4.2.3.GA版本为例讲解配置https方法。(tomcat在后面)
一、为服务器生成证书keystore密钥文件
1.以下是我在cmd中的操作:
%JAVA_HOME%\bin\keytool -genkey -alias server -keyalg RSA -keystore f:\server.keystore -validity 3650
或有相应提示输入提示信息
在F盘生成了一个server.keystore密钥文件。
-alias server key的别名。具体参数见本文档附录最后。
二、将生成好的server.keystore放入你的jboss安装目录
生成完后server.keystore放入D:\ jboss-4.2.3.GA\server\default\conf中。
三、修改server.xml文件
1.修改D:\jboss-4.
2.
3.GA\server\default\deploy\jboss-web.deployer 目录下的
server.xml文件。
2.找到 入代码片段: keystoreFile="${jboss.server.home.dir}/conf/server.keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS" 也可不去掉注释增加如下代码: port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="${jboss.server.home.dir}/conf/server.keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS"/> keystoreFile:server.keystore 在jboss中的位置,在第二步中放的位置 keystorePass:在cmd命令中输入的key密码一定要一直 sslProtocol="TLS":加密方式 可以参考官网https://www.360docs.net/doc/ab17952319.html,/jbossweb/3.0.x/ssl-howto.html 四、修改项目中web.xml配置文件增加如下配置。 role JBossAdmin to access the HTML JMX console web application CONFIDENTIAL 可以用指定jsp html等 其中transport-guarantee的可选参数类型有三个: NONE: 对所使用的通信协议不加限制; CONFIDENTIAL:使用加密的通信协议; INTEGRAL:数据必须以一种防止截取它的人阅读它的方式传送。 五、测试。 访问 也可以访问 本项目地址: https://www.360docs.net/doc/ab17952319.html,:8080/buyerindex.do会强制转向的 https://https://www.360docs.net/doc/ab17952319.html,:8443/buyerindex.do 注意https://www.360docs.net/doc/ab17952319.html, 是在cmd生成key文件时输入的 出现警告点击继续 出现红叉不信任警告 可以查看证书信息,里面都是cmd时生成的信息 六、安装导入证书 如上图点击“常规选项卡”点击安装证书 点击是。 重新打开浏览器此时的地址栏警告已经没有了 注意地址栏https://www.360docs.net/doc/ab17952319.html,是cmd输入的“名字姓氏(名词可能不一样)”如果不匹配或出现警告“地址不符” 到处为止jboss https加密协议完成,注意这种用是单向认证 七、tomcat配置https协议 生成keystore文件与jboss 相同。 文件存放位置:tomcat安装的根目录如:D:\apache-tomcat-6.0.37 修改conf下的service.xml文件方法与jboss修改文件相同如: port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keystoreFile="server.keystore" keystorePass="123456"/> 注意红色部分tomcat6 是这样配置的 protocol="org.apache.coyote.http11.Http11NioProtocol" 其他tomcat版本protocol="HTTP/1.1" 修改项目web.xml 文件同jboss相同。 完毕测试方法类同。 八、JDK中keytool 常用命令。 -genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey 的别名,mykey中包含用户的公钥、私钥和证书 (在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:/Documents and Settings/UserName/文件名为“.keystore”) -alias 产生别名 -keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中) -keyalg 指定密钥的算法(如RSA DSA(如果不指定默认采用DSA)) -validity 指定创建的证书有效期多少天 -keysize 指定密钥长度 -storepass 指定密钥库的密码(获取keystore信息所需的密码) -keypass 指定别名条目的密码(私钥的密码) -dname 指定证书拥有者信息例如:"CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代