公司做的醫(yī)療類型項(xiàng)目或政府類型項(xiàng)目,大部分是部署在內(nèi)部的局域網(wǎng)絡(luò)中,沒(méi)辦法使用可信機(jī)構(gòu)頒發(fā)的CA證書(shū),但在實(shí)際項(xiàng)目實(shí)施過(guò)程中又遇到了使用HTTPS的場(chǎng)景,比如消息接口的服務(wù)端驗(yàn)證,APP的內(nèi)網(wǎng)更新等等。那么局域網(wǎng)內(nèi)部署HTTPS,只能采用自簽證書(shū)來(lái)解決了。
方式一
使用openssl來(lái)簽發(fā)證書(shū),自簽證書(shū)大部分采用的是openssl x509 來(lái)生成對(duì)應(yīng)證書(shū),先生成公私鑰對(duì),然后構(gòu)造符合PKCS#10證書(shū)申請(qǐng)文件,用生成的私鑰給內(nèi)容簽名,把簽名的申請(qǐng)文件提交給CA,CA來(lái)驗(yàn)證簽名,加上頒發(fā)者信息(自己的信息)后,就可以用CA的私鑰簽發(fā)數(shù)字證書(shū)了。
這套流程下來(lái)相對(duì)來(lái)說(shuō)比較繁瑣,不利于新手用戶操作。
方式二
一種更加簡(jiǎn)單使用的工具mkcert,生成本地https證書(shū),它會(huì)信任自簽CA,使用流程比較簡(jiǎn)單,可以通過(guò)Homebrew, Chocolatey, Scoop多重方式進(jìn)行安裝,安裝環(huán)節(jié)我們暫不提及,后續(xù)會(huì)在更新一篇文章。
通過(guò)mkcert的輸出已經(jīng)給出了一個(gè)基本的工作流,規(guī)避了繁雜的openssl命令,幾個(gè)簡(jiǎn)單的參數(shù)就可以生成一個(gè)本地可信的https證書(shū)了
mkcert -install mkcert使用的根證書(shū)加入了本地可信CA,通過(guò)該CA簽發(fā)證書(shū),在本地都是可信的。然后生成自簽證書(shū),
mkcert 192.168.10.10(這里的IP換成你的內(nèi)網(wǎng)IP),生成的192.168.10.10.pem證書(shū)文件和192.168.10.10.pem私鑰文件,部署在web服務(wù)器上就可以了。