日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Nodejs 搭建https服务器(一)

發(fā)布時(shí)間:2024/4/17 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nodejs 搭建https服务器(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

1.?搭建https服務(wù)器---前奏

首先需要理解幾個(gè)概念

1.?HTTP是一個(gè)網(wǎng)絡(luò)協(xié)議,是專(zhuān)門(mén)用來(lái)傳輸?Web?內(nèi)容;

2.?SSL(Secure Sockets Layer)的縮寫(xiě)----安全套接層。它是在上世紀(jì)90年代中期,由網(wǎng)景公司設(shè)計(jì)的。?為啥要發(fā)明?SSL?這個(gè)協(xié)議?因?yàn)樵然ヂ?lián)網(wǎng)上使用的?HTTP?協(xié)議是明文的,存在很多缺點(diǎn)——比如傳輸內(nèi)容會(huì)被偷窺(嗅探)和篡改。發(fā)明?SSL?協(xié)議,就是為了解決這些問(wèn)題。

3.?到了1999年,SSL?因?yàn)閼?yīng)用廣泛,已經(jīng)成為互聯(lián)網(wǎng)上的事實(shí)標(biāo)準(zhǔn)。IETF?就在那年把?SSL 標(biāo)準(zhǔn)化。標(biāo)準(zhǔn)化之后的名稱(chēng)改為?TLS“Transport Layer Security”的縮寫(xiě),中文叫做傳輸層安全協(xié)議。

4.?通常所說(shuō)的?HTTPS?協(xié)議,說(shuō)白了就是“HTTP 協(xié)議”和“SSL/TLS 協(xié)議”的組合。你可以把?HTTPS?大致理解為——“HTTP over SSL”或“HTTP over TLS”。

5.?OpenSSL是TLS/SSL協(xié)議的開(kāi)源實(shí)現(xiàn),提供開(kāi)發(fā)庫(kù)和命令行程序。

6.?很多相關(guān)的文章都把這兩者并列稱(chēng)呼SSL/TLS,因?yàn)檫@兩者可以視作同一個(gè)東西的不同階段。

SSL/TLS協(xié)議的基本過(guò)程是這樣的

目標(biāo):使用OpenSSL生成一個(gè)CA根證書(shū),并用這個(gè)根證書(shū)頒發(fā)兩個(gè)子證書(shū)server和client。

2.??生成證書(shū)相關(guān)文件

2.1?確保安裝OpenSSL

Mac已經(jīng)安裝OpenSSL,可以采用brew info OpenSSL來(lái)查看具體內(nèi)容;
linux 可以采用yum install openssl來(lái)進(jìn)行下載;

2.2?構(gòu)建私鑰

OpenSSL通常使用PEM(Privacy Enbanced Mail)格式來(lái)保存私鑰,構(gòu)建私鑰的命令如下:

#導(dǎo)出至為當(dāng)前路徑?openssl genrsa -out?private.pem?1024

參數(shù)說(shuō)明

1.?genrsa——使用RSA算法產(chǎn)生私鑰

2.?-out——輸出文件的路徑

3.?1024——指定私鑰長(zhǎng)度

2.3?生成CSR證書(shū)簽名

使用上一步生成的私鑰(pem文件),生成證書(shū)請(qǐng)求文件(csr文件):

#導(dǎo)出到同級(jí)目錄下, -subj配置簽名文件的說(shuō)明,可根據(jù)具體情況做修改?openssl req -new?-keyprivate.pem -out?csr.pem ?-subj \"/C=CN/ST=myprovince/L=mycity/O=myorganization/OU=mygroup/CN=myname"

參數(shù)說(shuō)明

1.?req——執(zhí)行證書(shū)簽發(fā)命令

2.?-new——新證書(shū)簽發(fā)請(qǐng)求

3.?-key——指定私鑰路徑

4.?-out——輸出的csr文件的路徑

5.?-subj——證書(shū)相關(guān)的用戶信息(subject的縮寫(xiě))

2.4?自簽發(fā)證書(shū)文件(cer文件)

openssl x509 -req -days?365?-sha1 -extensions v3_ca -signkey \ private.pem?-in?csr.pem?-out ca.cer

參數(shù)說(shuō)明:

1. x509——生成x509格式證書(shū) 2. -req——輸入csr文件 3. -days——證書(shū)的有效期(天) 4. -sha1——證書(shū)摘要采用sha1算法 5. -extensions——按照openssl.cnf文件中配置的v3_ca項(xiàng)添加擴(kuò)展 6. -signkey——簽發(fā)證書(shū)的私鑰 7. -in——要輸入的csr文件 8. -out——輸出的cer證書(shū)文件

三個(gè)文件如下圖:

?

轉(zhuǎn)載于:https://my.oschina.net/u/2971691/blog/886272

總結(jié)

以上是生活随笔為你收集整理的Nodejs 搭建https服务器(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。