环境:公司的一个项目是内网环境,没有互联网,软件又必须使用https证书才可以,于是网上查了一下openssl 制作https证书的教程,网上的例子千奇百怪,整个过程来来回回失败了好多次才成功,下面记录一下制作证书的过程,系统:centos7,已经安装openssl。
一、修改证书默认有效期
通过修改配置文件修改证书的默认有效期:
vi /etc/pki/tls/openssl.cnf,否则制作的证书默认的有效期限是1年。
二、开始制作
移动到目录 /etc/pki/CA/下
1.创建两个空文件
touch index.txt
touch serial
在serial填写01
vi serial
创建文件夹
mkdir newcerts
2.首先制作ca证书和密钥(过程中需要输入国家,区域,城市,等等,要保证ca的和服务端的输入的一致才可以,其中ca的主机名可以输入ca,server的主机名输入域名:www.demo.com)
openssl req -new -x509 -keyout ca.key -out ca.crt -days 3650
3.制作服务端密钥
openssl genrsa -des3 -out server.key 1024
4.制作服务端证书请求文件
openssl req -new -key server.key -out server.csr
5.用ca给服务端的密钥制作证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
6.(可选)把服务端的密钥的密码去掉
openssl rsa -in server.key -out server1.key
7.(可选)把crt证书转换成jks(weblogic需要jks)(过程中需要输入密码,name对应的alias 是别名)
生成p12文件
openssl pkcs12 -export -in server.crt -inkey server.key -out to.p12 -name "alias"
p12文件转换成jks
keystore.jks
keytool -importkeystore -srckeystore to.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore to.jks
注意:ca.crt 给个人的电脑导入到电脑或者浏览器的信任证书,server.key和server.crt 给nodejs使用,to.jks给weblogic使用。
备注:谷歌浏览器部分版本不识别/不承认 自己制作的证书,导入到信任证书列表页没有用还是会提示证书不安全。50版本的谷歌浏览器是可以的。
备注:to.jks的别名是alias 密码是你输入的密码。
备注:如果制作一半取消的,删掉CA文件夹下的所有文件重新来过。
运维不易!!与君共勉~!