本文旨在帮助大家设置部署Glassfish https证书。需要有一定的命令行操作基础,对于很基础的概念就不在赘述(比如下载OpenSSL,ls命令是干什么之类)。另外本文也不是教大家怎么去申请CA证书。所以你手头上必须要有申请好的CA证书才可以操作。
英语不错的可以直接看原文
那我们开始吧!
我申请的证书提供商替我打包了以下几个文件夹。
(建议申请的时候填上私钥:也就是证书密码)
证书.png
一. 更改domain的管理密码
asadmin change-master-password --savemasterpassword=true mydomain
执行时会提示输入密码,请输入申请证书时的私钥密码。
ps:命令中的mydomain替换成自己的domain名称。默认密码为 changeit 输入回车后再输入新密码。
二. 生成PKCS12
操作如下:
生成PKCS12.png我们分步骤来看:
- 进入Apache文件夹
为什么要到这个文件夹里呢,因为我的证书提供商在Apache目录下放了cert 和 key 文件。而下面的操作命令需要这两个文件,所以嘛。 - 生成pkcs12文件:核心命令
openssl pkcs12 -export -in mycert.crt -inkey mycert.key -out mycert.p12 -name mydomain_certificate
上面的命令根据自己的需要更改。
执行这个命令时,会要求你输入密码,输入和你申请CA证书时一样的密码。
- 查看PKCS12文件是否包含了你申请的证书。
keytool -list -keystore mycert.p12
然后输入你上一步设置的密码。
三. 生成keystore.jks文件
keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias mydomain_certificate
操作结束后会在当前目录下生成一个keystore.jks文件
四. 生成cacert.jks文件
keytool -importkeystore -destkeystore cacerts.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias mydomain_certificate
执行这个命令也会询问你密码,设置和之前密码一致即可。
操作结束后会生成一个cacert.jks文件.
如果在执行上面一条语句有困难或者为了保险起见,还可以执行下面一条命令,但是他们效果是一样的(当然,如果上面和下面这两个命令都执行,也是OK的。无需担心)。
keytool -importcert -trustcacerts -destkeystore cacerts.jks -file mycert.crt -alias mydomain_certificate
五. 替换domain 证书下的keystore.jks和cacert.jks文件
将上面几步生成的keystore.jks和cacert.jks文件替换到domain的config目录。
Paste_Image.png
六. 启动domain并进控制台配置
asadmin start-domain mydomain
如果你的控制台端口没有变更,请在浏览器打开http://localhost:4848
然后按照下面进行配置
框里填入你之前命令中的alias对应的值。
七. 重新启动应用看看吧。
现在你的应用可以用Https方式访问了。且证书有效。
Paste_Image.png
关注我的公众号.jpg
网友评论