環境:公司的一個項目是內網環境,沒有互聯網,軟件又必須使用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文件夾下的所有文件重新來過。
運維不易!!與君共勉~!