http项目切换成https项目

一、本地HTTPS切换,使用Tomcat运行项目

1、证书相关操作
(1)、生成keystore证书
keytool -genkey -alias casserver.keystore -keyalg RSA -validity 20000 -keystore d:\sso\ssl\casserver.keystore -ext SAN=dns:localhost,ip:x.x.x.x
密钥库口令和密钥:11111111
注意:ip:是值签发给某个ip的证书

您的名字与姓氏是什么?
[Unknown]:  localhost
您的组织单位名称是什么?
  [Unknown]:  
您的组织名称是什么?
  [Unknown]:  
您所在的城市或区域名称是什么?
  [Unknown]:  
您所在的省/市/自治区名称是什么?
  [Unknown]:  
该单位的双字母国家/地区代码是什么?
  [Unknown]:  

(2)、生成cer证书:keytool -alias "casserver.keystore" -exportcert -keystore d:\sso\ssl\casserver.keystore -file d:\sso\ssl\casserver.cer -storepass "11111111"
(3)、将(2)中生成的证书导入jre证书库中:
keytool -import -trustcacerts -alias casserver -file d:\sso\ssl\casserver.cer -keystore "C:\Program Files\Java\jdk1.7.0_17\jre\lib\security\cacerts" -storepass changeit

其他可能用到的操作命令:
删除密钥库里的条目:keytool -delete -alias casserver.keystore -keystore d:\sso\ssl\casserver.keystore
查看密钥库:keytool -list -v -keystore d:\sso\ssl\casserver.keystore -storepass "11111111"

删除jdk证书库里的条目:keytool -delete -alias casserver -keystore "C:\Program Files\Java\jdk1.7.0_17\jre\lib\security\cacerts" -storepass "changeit"
查看jdk证书库:keytool -list -v -keystore "C:\Program Files\Java\jdk1.7.0_17\jre\lib\security\cacerts" -storepass "changeit"
2、hosts文件(配置好dns解析,后续https访问显示安全)
	127.0.0.1  localhost
3、更改tomcat的conf/server.xml
(1)、将https端口配置成8081,并配置相应信息
<Connector port="8081" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
			   keystoreFile="D:\sso\ssl\casserver.keystore" keystorePass="11111111"
               clientAuth="false" sslProtocol="TLS" />

(2)、配置文件中其他的redirectPort="8443"改成 8081(重定向的端口https的端口)

二、部署HTTPS项目到Linux服务器,金蝶中间件运行项目

1、证书相关
# 使用keytool生成keystore
keytool -genkey -alias server.keystore -keyalg RSA -validity 20000 -keystore ./server.keystore -ext SAN=dns:localhost,ip:x.x.x.x

# 从证书库导出cer证书
keytool -alias server.keystore -exportcert -keystore ./server.keystore -file ./server.cer -storepass 11111111

#将cer证书导入到jre证书库
keytool -import -trustcacerts -alias testpro -file ./server.cer -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.60-1.8.ns7_4.02.mips64el/jre/lib/security/cacerts -storepass changeit
2、修改金蝶配置文件
将cer证书放到项目/ca/路径下

1)、修改apusic.conf :
<ATTRIBUTE NAME="Port" VALUE="8080"/>  
<ATTRIBUTE NAME="SSLEnabled" VALUE="true"/>
<ATTRIBUTE NAME="SecurePort" VALUE="8081"/>
<ATTRIBUTE NAME="KeyStore" VALUE="ca/server.keystore"/>
<ATTRIBUTE NAME="KeyStorePassword" VALUE="11111111"/>
<ATTRIBUTE NAME="KeyPassword" VALUE="11111111"/>

2)、修改 web.xml文件,配置http自动跳转为https
在<!--################### Servlet Registration ##################-->位置处增加如下代码:
<security-constraint>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
  <url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
  <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

3)、修改启动文件startapusic,在“OTHERS_JVMOPTS=” 后面加上如下配置:
-Djavax.net.ssl.trustStore=/project/ca/server.keystore

三、部署HTTPS项目到Linux服务器,金蝶中间件,深信服-应用交付做负载

1、使用自签名证书
1.1 证书相关操作
# 生成证书库,ip为负载均衡对外虚拟出的唯一地址
keytool -genkey -alias server.keystore -keyalg RSA -validity 20000 -keystore server.keystore -ext SAN=dns:localhost,ip:x.x.x.x

# 生成cer证书
keytool -alias server.keystore -exportcert -keystore server.keystore -file server.cer -storepass 11111111

# 将keystore文件转换为p12文件,用于提取私钥
keytool -importkeystore -srckeystore server.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore server.p12

#生成私钥-1、提取原始秘钥对(若需要密码:11111111)
openssl pkcs12 -in server.p12 -nocerts -nodes -out server_original.key

#生成私钥-2、提取rsa私钥(若需要密码:11111111)
openssl rsa -in server_original.key -out pkcs.pem

# 执行命令将生成的cer证书导入到jre的证书库
keytool -import -trustcacerts -alias test_ca -file server.cer -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.60-1.8.ns7_4.02.mips64el/jre/lib/security/cacerts -storepass changeit

注意:生成的rsa私钥和cer证书,用于在“应用交付”管理平台进行【资源管理】-【证书管理】的负载配置。
1.2、金蝶配置同【二、部署到服务器】上配置一致
2、使用机构颁发的RSA证书
2.1 提供签名证书请求文件和私钥给证书颁发机构
1、使用证书请求生成工具,生成需要的请求文件(由机构提供,根据操作文档操作即可,申请信息填写时,需要对应的负载ip)
2、可让机构合成jks证书,用于后续金蝶中间件配置使用,证书库密码由机构提供。
3、将机构申请下来的根证书、服务器证书、中级证书配置到“应用交付”管理平台的【资源管理】-【证书管理】里面即完成证书配置,后续可继续进行负载配置。
2.2 金蝶配置调整为如下(jks也是机构提供)
将jks和服务器证书放到项目/ca/路径下

<ATTRIBUTE NAME="SSLEnabled" VALUE="true"/>
<ATTRIBUTE NAME="SecurePort" VALUE="8081"/>
<ATTRIBUTE NAME="SSLProtocol" VALUE="TLSv1.2"/>
<ATTRIBUTE NAME="KeyStore" VALUE="ca/server.jks"/>
<ATTRIBUTE NAME="KeyPassword" VALUE="11111111"/>
<ATTRIBUTE NAME="TrustStore" VALUE="ca/server.jks"/>
<ATTRIBUTE NAME="TrustStorePassword" VALUE="11111111"/>
<ATTRIBUTE NAME="TrustStoreType" VALUE="JKS"/>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值