HealthConnect访问HTTPS开头地址
1、OpenSSL/Tomcat HTTPS 搭建
准备OpenSSL的安装包,已便生成相关证书。
第一部分:首先是看看 OpenSSL的搞法:
创建证书的步骤:
- 生成私钥
- 生成待签名证书
- 生成x509证书, 用CA私钥进行签名
- 导成浏览器支持的p12格式证书
1.1生成CA证书
(1)创建私钥:
openssl genrsa -des3 -out C:\SSL\ca\ca-key.pem 2048
(2)创建证书请求:
openssl req -new -out C:\SSL\ca\ca-req.csr -key C:\SSL\ca\ca-key.pem
(3)自签署证书
openssl x509 -req -in C:\SSL\ca\ca-req.csr -out C:\SSL\ca\ca-cert.pem -signkey C:\SSL\ca\ca-key.pem -days 1000
(4) 将证书导出成浏览器支持的.p12格式
openssl pkcs12 -export -clcerts -in C:\SSL\ca\ca-cert.pem -inkey C:\SSL\ca\ca-key.pem -out C:\SSL\ca\ca.p12
1.2生成Server证书
(1)创建私钥:
openssl genrsa -des3 -out C:\SSL\server\server-key.pem 2048
(2)创建证书请求:
openssl req -new -out C:\SSL\server\server-req.csr -key C:\SSL\server\server-key.pem
(3)自签署证书
openssl x509 -req -in C:\SSL\server\server-req.csr -out C:\SSL\server\server-cert.pem -signkey C:\SSL\server\server-key.pem -CA C:\SSL\ca\ca-cert.pem -CAkey C:\SSL\ca\ca-key.pem -CAcreateserial -days 3650
(4) 将证书导出成浏览器支持的.p12格式
openssl pkcs12 -export -clcerts -in C:\SSL\server\server-cert.pem -inkey C:\SSL\server\server-key.pem -out C:\SSL\server\server.p12
1.3生成Client证书
(1)创建私钥:
openssl genrsa -out C:\SSL\client\client-key.pem 1024
(2)创建证书请求:
openssl req -new -out C:\SSL\client\client-req.csr -key C:\SSL\client\client-key.pem
(3)自签署证书
openssl x509 -req -in C:\SSL\client\client-req.csr -out C:\SSL\client\client-cert.pem -signkey C:\SSL\client\client-key.pem -CA C:\SSL\ca\ca-cert.pem -CAkey C:\SSL\ca\ca-key.pem -CAcreateserial -days 3650
(4) 将证书导出成浏览器支持的.p12格式
openssl pkcs12 -export -clcerts -in C:\SSL\client\client-cert.pem -inkey C:\SSL\client\client-key.pem -out C:\SSL\client\client.p12
1.4根据ca证书生成jks文件(Java keystore)
注意这里使用的JDK的中keyTools工具,要进入到keyTools所在路径后在cmd命令中执行
keytool -keystore C:\SSL\ca\truststore.jks -keypass 123456 -storepass 123456 -alias ca -import -trustcacerts -file C:\SSL\ca\ca-cert.pem
1.5配置Tomcat SSL
此处我使用Springboot来搭建https服务,配置如下,下方的密码是上述命令在执行过程中设置。
1.6测试
openssl s_client -connect localhost:8083 -cert C:\SSL\client\client-cert.pem -key C:\SSL\client\client-key.pem -tls1 -CAfile C:\SSL\ca\ca-cert.pem -state -showcerts
注意:在生成ca,server,client的证书的过程中,出现common name设置(ca=ca,server=服务器IP,client=cl)一定不能重复,否则ssl不成功
2 HealthConnect端访问HTTPS开头的Rest地址
2.1配置SSL/TLS
2.2执行结果
注意:访问地址IP要与生成Server证书时填写的Common name一致,否则验证失败