Weblogic 服务器如何支持https协议
https协议:全称Hyper Text Transfer Protocol Secure,相比http,多了一个secure。那这个‘安全’到底是指哪里的安全呢?https和http都属于application layer,基于TCP(以及UDP)协议,但是又完全不一样。TCP用的port是80,https用的是443。http的连接很简单,是无状态的HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比http协议安全。所以要实现https协议,必须要有相关的证书。
要实现weblogic服务器的https协议,必须要经过这几个步骤:
(1)生成keystore文件
Keystore是java用的存储**的容器。可以同时容纳n个公钥或私钥,后缀一般是.jks或者.keystore或.truststore等。
生成**库文件keystore.jks需要使用JDK的keytool工具。命令行进入JDK或JRE下的bin目录,运行keytool命令(示例中粗体部分为可自定义部分,可根据实际配置情况相应修改)。
keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore D:\keystore.jks -storepass password -keypass password
(2)生成证书请求文件(CSR)
keytool -certreq -alias server -sigalg SHA256withRSA -file D:\certreq.csr -keystore D:\keystore.jks -keypass password -storepass password
请备份**库文件keystore.jks,并稍后提交证书请求文件certreq.csr,等待证书签发。**库文件keystore.jks丢失将导致证书不可用。
(3)获取服务器证书和CA证书
证书签发后,将从BEGIN到END结束的服务器证书内容粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为server.cer文件。
从BEGIN到 END结束的两张 CA证书 内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)分别粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为ca1.ce r和 ca2.cer文件。
(4)导入证书
导入第一张中级CA证书
keytool -import -alias ca1 -keystore D:\keystore.jks -trustcacerts -storepass password -file D:\ca1.cer -noprompt
导入第二张中级CA证书
keytool -import -alias ca2 -keystore D:\keystore.jks -trustcacerts -storepass password -file D:\ca2.cer -noprompt
导入服务器证书
keytool -import -alias server -keystore D:\keystore.jks -trustcacerts -storepass password -keypass password -file D:\server.cer
注意,导入证书时,一定要使用生成证书请求文件时生成的keystore.jks文件。keystore.jks文件丢失或生成新的keystore.jks文件,都将无法正确导入您的服务器证书。
(5)安装服务器证书
启动weblogic,打开weblogic的控制台。
找到对应的服务:
选择秘钥库:
默认密码:changeit
(6)测试证书是否安装成功。
访问https://youdomain:port,测试证书的安装。
(7)如果要在应用中,将所有的http请求都转换为https协议,则需要在web.xml配置如下:
<security-constraint> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
Weblogic中安装证书需要用到.jks文件,如果没有.jks文件,只有私钥,服务器证书,CA证书该如何安装。
需要用私钥,服务器证书,CA证书装换成jks文件。
首先需要将服务器证书,CA证书装换成.pem文件。
将服务器证书中的内容和CA证书中的内容复制到一个文件中,并保存为.pem后缀文件。
其次将.pem文件转换为.jks文件。
需要用到装换工具:
在线装换:https://www.itrus.cn/service_caChange.html
下载地址: http://www.itrus.cn/soft/ItrusSSL/ItrusCsr.exe
装换后,再根据以上安装步骤进行安装。
如果后台日志出现以下的错误:
Error:<Inconsistent security configuration, java.lang.RuntimeException: Cannot convert identity certificate>
查阅资料会查到这样的结果:
As it turns out, Weblogic prior to 10.3.4 cannot use certificates with SHA256withRSA encryption as it uses Certicom SSL implementation.
大概的意思:如果用的证书中采用了SHA256算法的话,weblogic的版本必须高于: 10.3.4