證書(CA證書,服務(wù)端證書,客戶端證書)
1 安裝CA
CA(Certificate Authority,證書授權(quán))是由認(rèn)證機構(gòu)服務(wù)者簽發(fā),是數(shù)字簽名的技術(shù)基礎(chǔ)保障,也是網(wǎng)上實體身份的證明,能夠證明某一實體的身份及其公鑰的合法性,證明該實體與公鑰二者之間的匹配關(guān)系。
在電子商務(wù)系統(tǒng)中,所有實體的證書都是由證書授權(quán)中心即CA中心頒發(fā)并簽名的。一個完整的、安全的電子商務(wù)系統(tǒng)必須建立一個完整的、合理的CA體系。CA體系由證書審批部門和證書操作部門組成。
1.1 下載mkcert
mkcert 工具
https://gitee.com/stonedst/mkcert
$ mkcert -install
Created a new local CA ??
The local CA is now installed in the system trust store! ??
The local CA is now installed in the Firefox trust store (requires browser restart)! ??
1.2 mkcert安裝和配置根證書
首先到github下載mkcert工具,下面我以windows平臺作為演示
在cmd中cd到mkcert所在的目錄運行下面的命令
.\mkcert.exe -install
這條命令會創(chuàng)建一組根證書和私鑰,根證書會被安裝到系統(tǒng)中。輸入下面的命令就可以查看到ca證書存放的位置。其中“rootCA.pem“就是根證書,有些系統(tǒng)比如windows可能不會認(rèn)rootCA.pem可以把他改成rootCA.crt。將他發(fā)送給需要安裝的自定義證書的設(shè)備,安裝好之后自簽名證書就不會顯示不安全了。另外rootCA-key.pem是根證書的私鑰文件,不可公開需要妥善保管。
.\mkcert.exe -CAROOT
1.3設(shè)備安裝根證書
1.windows
直接打開rootCA.crt,并將證書安裝到受信任的根證書
2.安卓
直接在文件管理器安裝rootCA.crt
3.macos
直接在文件管理器安裝rootCA.crt,然后打開鑰匙串-系統(tǒng)找到mkcert開頭的證書,雙擊打開。設(shè)置為下圖的模式就可以了。
[
4.ios
ios要先安裝ca證書,然后在“設(shè)置”——“通用”——“描述文件和設(shè)備管理”——驗證剛才安裝的ca證書。然后在“通用”——“關(guān)于本機”——“證書信任設(shè)置”信任剛才的ca證書
mkcert簽發(fā)自簽名證書的教程就已經(jīng)結(jié)束了,rootCA.crt可以保存在一些容易獲取到的地方,比如網(wǎng)盤上,這樣去到新的地方就可以安裝根證書確保訪問安全了。而且根證書本身就是公開的,不需擔(dān)心安全性問題,確保不被篡改就行了。
2 自簽名ssl證書
SSL證書一般有如下方法獲?。篠SL服務(wù)商購買、免費SSL服務(wù)商通過HTTP驗證/API驗證、自簽SSL證書。
如果進行自簽SSL證書,首先要有一個CA根證書,然后用CA根證書來簽發(fā)用戶證書。
用戶進行證書申請:一般先生成一個私鑰,然后用私鑰生成證書請求(證書請求里應(yīng)含有公鑰信息),再利用證書服務(wù)器的CA 根證書來簽發(fā)證書。
自簽可以生成任意域名或IP的SSL證書,只不過是不信任的,需要自行將該CA加入信任。
2.1 CA 證書過程:
生成CA私鑰(.key)–>生成CA證書請求(.csr)–>自簽名得到根證書(.crt)(CA給自已頒發(fā)的證書)
2.2 自簽名流程
生成服務(wù)端key(.key)–>生成服務(wù)端請求文件(.csr)–>生成服務(wù)端證書,使用CA根證書簽發(fā)(.crt)–>生成pem格式證書–>生成p12格式證書
自簽SSL一般需要使用openssl命令步驟比較繁瑣,今天我們借助mkcert工具來一鍵生成SSL證書并且信任該CA。
2.3簽發(fā)證書
mkcert簽發(fā)證書非常的簡單,用下列的命令就可以給“192.168.100.100”簽發(fā)一個ssl證書
.\mkcert.exe 192.168.100.100
當(dāng)然也可以給域名簽發(fā)一個ssl證書,比如給*.home.com這個泛解析域名簽發(fā)ssl證書
.\mkcert.exe *.home.com
也可以給多個域名多個ip簽發(fā)ssl證書,比如我給*.home.com, *.nas.com, *.Router.com, 192.168.100.100, 10.10.100.100。等三個域名,2個ip簽發(fā)在同一張ssl證書中。
.\mkcert.exe *.home.com *.router.com *.nas.com 192.168.100.100 10.10.100.100
.\mkcert.exe *.abiuni.com *.techco.club 8.139.98.150 8.219.252.173
2.4給已有的證書請求(.csr)簽發(fā)證書
如果已有請求文件csr文件和私鑰,然后用csr文件給mkcert簽發(fā)的ssl證書才能使用。
把證書下載好后,將server.csr復(fù)制到mkcert所在的目錄執(zhí)行下面的命令,就可以根據(jù)csr文件簽發(fā)出ssl證書。
.\mkcert.exe -csr server.csr
將生成的證書和里面的server.key(私鑰)一起設(shè)置配置好證書的使用就可以了。
參考文獻
https://post.smzdm.com/p/aeveozgm/
https://zhuanlan.zhihu.com/p/636932873
https://blog.csdn.net/Amorbcbc/article/details/131646799
3 配置nginx的https
3.1 查看NGINX是否安裝SSL模塊
./nginx -V # 注意,是大寫的V,如果有ssl_module那就說明有,沒有就自行安裝文章來源:http://www.zghlxwxcb.cn/news/detail-771703.html
3.2 配置config文件
server {
listen 443;
server_name 8.138.98.150;
ssl on;
ssl_certificate /usr/share/nginx/html/card/com.pem;
ssl_certificate_key /usr/share/nginx/html/card/com.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
}
重啟nginx文章來源地址http://www.zghlxwxcb.cn/news/detail-771703.html
service nginx reload
到了這里,關(guān)于【密碼學(xué)】使用mkcert安裝CA、自簽名ssl證書,配置nginx的https 證書筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!