本文主要內(nèi)容有兩點(diǎn):
1. centos 環(huán)境使用openssl生成自簽名證書?
2. 如何使用(讓瀏覽器信任)自簽名證書卸留?
3. ssl證書相關(guān)的文件有哪幾種后綴走越,各有何意義?
4. ssl證書介紹
-
修改CA的配置文件
vi /etc/pki/tls/openssl.cnf
注意policy_match
-
創(chuàng)建初始文件
cd /etc/pki/CA
touch index.txt serial
echo 01 > serial
ll
生成CA根秘鑰
openssl genrsa -out private/cakey.pem 2048
chmod 400 private/cakey.pem-
生成CA 根證書
openssl req -new -x509 -key private/cakey.pem -out cacert.pem
根證書需輸入的信息 -
在需要申請(qǐng)證書的server上生成ssl密鑰對(duì)(這里server與ca機(jī)構(gòu)使用的同一臺(tái)服務(wù)器)
cd /etc/pki/server-example
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
注意此處的country要與步驟4中ca根證書的country一致耻瑟,因?yàn)樵诓襟E1中的配置文件policy_match的countryName設(shè)置為了match
我們的CA為server的請(qǐng)求簽署證書
openssl ca -in server.csr -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -extensions SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:*.dana-tech.com,DNS:dana-tech.com")) -out server.crt
注意:為weilei.com簽發(fā)的證書旨指,chrome中提示不安全(如下圖),firefox和edge中為安全喳整,為*.weilei.com簽發(fā)證書谆构,簽發(fā)命令中需增加san擴(kuò)展的語句。
如何使用(讓瀏覽器信任)自簽名證書框都?
將ca根證書導(dǎo)入到受信任的根證書頒發(fā)機(jī)構(gòu)中(windows中)搬素;
- 證書導(dǎo)入到控制臺(tái)(edge和ie有效)
- win+r 運(yùn)行mmc
- 文件>添加刪除管理單元>證書>添加>完成>確定
- 受信任的根證書頒發(fā)機(jī)構(gòu)>證書>(右鍵)所有任務(wù)>導(dǎo)入
- 根證書導(dǎo)入到chrome瀏覽器
- 設(shè)置>高級(jí)>管理證書>導(dǎo)入
- 根證書導(dǎo)入到firefox瀏覽器
- 選項(xiàng)>隱私與安全>證書>查看證書>導(dǎo)入
ssl證書相關(guān)的文件有哪幾種后綴,各有何意義?
ssl證書實(shí)際使用(權(quán)威機(jī)構(gòu)給我們頒發(fā)的證書)中有密鑰文件熬尺、證書文件摸屠、證書鏈文件(權(quán)威ca頒發(fā)給中間頒發(fā)者這樣的鏈路說明)[3]
- X.509可以有以下兩種編碼格式(也可作為文件后綴):
PEM(Base64編碼,查看命令openssl x509 -in certificate.pem -text -noout)粱哼,DER(二進(jìn)制格式季二,查看命令openssl x509 -in certificate.der -inform der -text -noout)
- 密鑰文件,以key為后綴揭措,編碼可以為pem或der
- 證書文件胯舷,linux多以crt為后綴(大多為pem編碼),windows多以cer為后綴(大多為der編碼)
- 證書鏈文件 绊含,格式類似證書文件
- 其他相關(guān)文件(自簽名證書會(huì)涉及到)
- 證書簽名請(qǐng)求文件桑嘶,后綴名為csr,而是向證書頒發(fā)機(jī)構(gòu)請(qǐng)求簽名證書的申請(qǐng)艺挪,包含了公鑰和一些申請(qǐng)信息不翩,對(duì)應(yīng)的私鑰自己保存好
- PFX/P12 - predecessor of PKCS#12,
對(duì)*nix服務(wù)器來說,一般CRT和KEY是分開存放在不同文件中的麻裳,但Windows的IIS則將它們存在一個(gè)PFX文件中,(因此這個(gè)文件包含了證書及私鑰)這樣會(huì)不會(huì)不安全口蝠?應(yīng)該不會(huì),PFX通常會(huì)有一個(gè)"提取密碼",你想把里面的東西讀取出來的話,它就要求你提供提取密碼,PFX使用的時(shí)DER編碼,PFX其實(shí)是個(gè)證書密鑰庫.
- JKS -
即Java Key Storage,這是Java的專利,跟OpenSSL關(guān)系不大,利用Java的一個(gè)叫"keytool"的工具,可以將PFX轉(zhuǎn)為JKS,當(dāng)然了,keytool也能直接生成JKS.
SSL證書介紹
SSL證書的介紹可移步我的另一篇文章SSL證書
參考文章