目錄
SSL/TLS
1、搭建OPenssl服務(wù)器
1.1、下載
?1.2、安裝下載好的exe程序
2、服務(wù)器端證書-生成key、CSR、CRT
2.1、進(jìn)入如下目錄,執(zhí)行cmd
?2.2、生成一個(gè)私鑰key
?2.3、由生成的私鑰key生成一個(gè)待簽名的CSR證書文件(公鑰)
?2.4、查看證書內(nèi)容
3、自建CA證書
3.1、創(chuàng)建CA私鑰
3.2、生成CA證書
3.3、生成CA根證書
3.4、對服務(wù)器證書簽名
4、nginx配置ssl,支持https
注意:以下內(nèi)容有參考其它資料。
SSL/TLS
TLS(Transport Layer Security) 是SSL(Secure Socket Layer) 的后續(xù)版本
證書生成以及自簽名證書
查看系統(tǒng)已存證書:certmgr.msc,運(yùn)行中輸入可以查看證書管理器win+r。
CSR:證書簽名請求文件,一個(gè)文件的后綴。
CRT:證書
key: 私鑰,由key生成CSR,等待被簽名。
?
1、搭建OPenssl服務(wù)器
1.1、下載
OPenSSL自簽名下載:http://slproweb.com/products/Win32OpenSSL.html
?1.2、安裝下載好的exe程序
2、服務(wù)器端證書-生成key、CSR、CRT
2.1、進(jìn)入如下目錄,執(zhí)行cmd
?2.2、生成一個(gè)私鑰key
使用openssl工具生成一個(gè)私鑰key:
openssl.exe genrsa -des3 -out d:/a/server.key?
生成了一個(gè)key文件:
?2.3、由生成的私鑰key生成一個(gè)待簽名的CSR證書文件(公鑰)
openssl.exe req -new -key d:/a/server.key -out d:/a/server.csr
-key:生成的私鑰文件
-new:新創(chuàng)建一個(gè)文件
這個(gè)證書不能直接使用,需要簽名生成一個(gè)CRT證書才能使用。
證書中信息:
·Country Name ( 2 letter code) [XX] :CN #請求簽署人的信息
·State or Province Name(fullname) []:#請求簽署人的省份名字
·Locality Name(eg, city) [Default City] :#請求簽署人的城市名字
·Organization Name(eg, company) [Default Company Ltd] :#請求簽署人的公司
·OrganizationalUnit Name(eg, section) []:#請求簽署人的部門名字
·CommonName(eg, your name or your servers hostname) []:#這里一般填寫服務(wù)器域名
?
?2.4、查看證書內(nèi)容
openssl.exe req -text -in d:/a/server.csr
3、自建CA證書
自建CA
我們用的操作系統(tǒng)(windows, linux, unix, android, ios等) 都預(yù)置了很多信任的根證書, 比如我的windows中就包含VeriSign的根證書, 那么瀏覽器訪問服務(wù)器比如支付寶www.alipay.com時(shí), SSL協(xié)議握手時(shí)服務(wù)器就會把它的服務(wù)器證書發(fā)給用戶瀏覽器, 而這本服務(wù)器證書又比如是VeriSign頒發(fā)的,自然就驗(yàn)證通過了。
3.1、創(chuàng)建CA私鑰
openssl.exe genrsa -out d:/a/myca.key 2048
3.2、生成CA證書
openssl.exe req -new -key d:/a/myca.key -out d:/a/myca.csr
3.3、生成CA根證書
openssl.exe x509 -req -in d:/a/myca.csr -extensions v3_ca -signkey d:/a/myca.key -out d:/a/myca.crt
3.4、對服務(wù)器證書簽名
openssl x509 -days 365 -req -in d:/a/server.csr -extensions v3_req -CAkey d:/a/myca.key -CA d:/a/myca.crt -CAcreateserial -out d:/a/server.crt
用CA的key對服務(wù)器端的公鑰做簽名。
4、nginx配置ssl,支持https
需要服務(wù)端的證書CRT和私鑰key,所以需要把上面生成的服務(wù)端證書server.key和server.crt傳輸?shù)絥ginx所在的服務(wù)器。
需要在nginx.conf文件中添加:
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /opt/cer/server.crt;
ssl_certificate_key /opt/cer/server.key;
location /ftp {
root /home/ftpadmin;
index index.html index.htm;
}
}
server {
listen 8080;
server_name localhost;
rewrite ^/(.*)$ https://localhost:443/$1 permanent;
}
配置后重新啟動需要輸入密碼,這里自己定義的server.key的密碼是:123456
配置完,重啟nginx服務(wù),訪問如下:
?如果想讓https訪問時(shí)不再提示不安全,需要把ca的crt證書安裝到瀏覽器所在服務(wù)器的證書管理器中,因?yàn)檫@個(gè)證書時(shí)自己給自己簽名的,是不受信任的,要想被信任,需要雙擊安裝到受信任的根證書頒發(fā)機(jī)構(gòu)存儲區(qū)。從下圖可以看出自己給自己頒發(fā)的。
5、一個(gè)免費(fèi)的ssl證書網(wǎng)站
FreeSSL首頁 - FreeSSL.cn一個(gè)提供免費(fèi)HTTPS證書申請的網(wǎng)站文章來源:http://www.zghlxwxcb.cn/news/detail-482391.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-482391.html
到了這里,關(guān)于https-OPenSSL證書生成及自簽名證書的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!