欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
PAS V6.5默认携带SSL证书,可以用于业务应用https方式访问。用户如需使用特定证书,可以按照如下方式进行操作。
PAS V6.5基于JAVA实现,因此SSL证书需要使用JKS格式,SSL证书包括:keystore.jks(私钥证书库),cacerts.jks(信任库)。
注意:keytool 工具是JDK提供的,请确保服务器上已经安装好JDK,并配置环境变量。
如用户自己生成jks证书可以按照如下操作进行。例如生成别名为app的,密钥库口令为testpass的SSL证书:
keytool -genkey
命令生成私钥证书库(keystore.jks)。keytool -genkey -storetype pkcs12 -keyalg RSA -keystore keystore.jks \
-alias app -dname CN=localhost,OU=OATest,O=OATest,L=Shanghai,ST=Shanghai,C=CN \
-storepass testpass
keytool -export -keystore keystore.jks -storetype pkcs12 -alias app \
-file app.cer -storepass testpass
keytool -import -noprompt -keystore cacerts.jks -alias app -file \
app.cer -storepass testpass
如用户不是使用keytool工具生成证书文件,则需要将证书转换为jks格式,本章节以用户拿到pem,key文件讲解。例如:用户证书是:wfapp.pem
和wfapp.key
文件,证书别名为:wfapp
,证书密码是testpass
。
wfapp.pem
和wfapp.key
文件导出pfx格式文件openssl pkcs12 -export -out wfapp.pfx -in wfapp.pem -inkey wfapp.key
# 执行后需输入两次密码:testpass
keytool -importkeystore -srckeystore wfapp.pfx -destkeystore keystore.jks \
-srcstoretype PKCS12 -deststoretype pkcs12 -srcstorepass testpass \
-storepass testpass
# -srcstorepass <arg> 源密钥库口令
# -storepass <arg> 证书库口令,此处设置密码与源密码一致
keytool -list -v -keystore keystore.jks -storepass testpass
# 执行后可以看到如下信息
# 密钥库类型: PKCS12
# 密钥库提供方: SUN
# 您的密钥库包含 1 个条目
# 别名: 1
# ……
keytool -changealias -keystore keystore.jks -alias 1 -destalias wfapp \
-storepass testpass
# -alias <alias> 证书中当前的alias(别名)
# -destalias <destalias> 指定的是要修改的别名名称
keytool -export -keystore keystore.jks -storetype pkcs12 -alias wfapp \
-file wfapp.cer -storepass testpass
keytool -import -noprompt -keystore cacerts.jks -alias wfapp \
-file wfapp.cer -storepass testpass
用户申请的证书如果是.keystore
、.cer
格式文件,需要将.keystore
转成P12格式,再使用keytoo工具转换为jks文件。例如用户获取到app1.keystore
、app1.cer
操作示例如下:
# keystore转成p12格式
keytool -importkeystore -srckeystore app1.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore app1.p12
# p12转成jks格式
keytool -v -importkeystore -srckeystore app1.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
#查看生成的jsk格式证书,可以根据需要调整证书别名,例如设置别名为app1
keytool -v -list -keystore keystore.jks
# 生成别名为app1的cacerts.jks
keytool -import -alias app1 -file app1.cer -keystore cacerts.jks
# 查看生成的jsk格式证书
keytool -v -list -keystore cacerts.jks
由于PAS V6.5中SSL证书除了用于应用访问使用,也会用于PAS V6.5自身的功能,因此不能直接进行证书替换,而是要将用户生成的证书私钥证书库与信任库和PAS V6.5携带的JKS文件进行合并。
注意:PAS V6.5携带的证书包含两个别名:s1as
和pas-instance
,因此请用户注意证书别名不要冲突。
本章节将讲解如何进行JKS合并:
例如用户生成的JKS文件文件路径:/home/test/ssl/keystore.jks
,/home/test/ssl/cacerts.jks
,证书别名:wfapp
,密码口令:testpass
。
PAS V6.5安装在/opt/primeton
目录下,则PAS V6.5的JKS文件路径:/opt/primeton/pas6/pas/domains/domain1/config/keystore.jks
,/opt/primeton/pas6/pas/domains/domain1/config/cacerts.jks
,密码口令:changeit
。
cd /home/test/ssl
mkdir old
mkdir new
cp /opt/primeton/pas6/pas/domains/domain1/config/*.jks /home/test/ssl/old
keytool -importkeystore -srckeystore /home/test/ssl/old/keystore.jks \
-destkeystore /home/test/ssl/new/keystore.jks -srcstorepass changeit \
-deststorepass changeit -deststoretype pkcs12
keytool -importkeystore -srckeystore /home/test/ssl/keystore.jks \
-destkeystore /home/test/ssl/new/keystore.jks -srcstorepass testpass \
-deststorepass changeit -destkeypass changeit -deststoretype pkcs12
keytool -importkeystore -srckeystore /home/test/ssl/old/cacerts.jks \
-destkeystore /home/test/ssl/new/cacerts.jks -srcstorepass changeit \
-deststorepass changeit -deststoretype pkcs12
keytool -importkeystore -srckeystore /home/test/ssl/cacerts.jks \
-destkeystore /home/test/ssl/new/cacerts.jks -srcstorepass testpass \
-deststorepass changeit -deststoretype pkcs12
cp /home/test/ssl/new/* /opt/primeton/pas6/pas/domains/domain1/config
将合并的ssl证书放到PAS V6.5后,启动PAS V6.5服务,配置应用使用的证书。
使用管理员登录PAS V6.5管理控制台
配置HTTP监听程序
如应用部署到默认server上,点击PAS V6.5管理控制台左侧[配置/server-config/HTTP 服务/HTTP 监听程序]菜单项,进入HTTP 监听程序页面
如应用部署到默认独立实例上,例如独立实例名为ins1
,点击左侧[配置/ins1-config/HTTP 服务/HTTP 监听程序]菜单项,进入HTTP 监听程序页面。
如应用部署到默认集群上,例如集群名为clusterA
,点击左侧[配置/clusterA-config/HTTP 服务/HTTP 监听程序]菜单项,进入HTTP 监听程序页面。
点击http-listener-2
链接进入编辑 HTTP 监听程序
页面,点击 [SSL] tab页,配置证书昵称,此处填写用户导入证书的别名,设置后点击<保存>按钮。
保存后,在浏览器访问查看证书是否正确,例如:https端口:8181
,服务器IP地址:127.0.0.1
。在浏览器中访问https://127.0.0.1:8181。
访问时如果提示您的连接不是私密连接
,这是因为浏览器认为证书不是专业机构发放,需要点击继续前往访问页面。
访问页面成功,可以在浏览器中查看证书信息,查看证书颁发者与实际一致,SSL证书替换完成。