利用openssl簽署多域名證書

    openssl自建CA默認(rèn)簽署的是單域名證書,因?yàn)閱闻_(tái)服務(wù)器上有多個(gè)https域名,簽署多域名證書能方便很多,今天找了很久,除了一些賣證書的網(wǎng)站上有scr工具能加“使用者備用名稱”,都沒有找到openssl相關(guān)的添加方法。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)化隆免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

    后來(lái)看openssl.cnf找到一個(gè)方法,這里記錄一下:

    ?。∵@個(gè)方法比較笨重,如果有其他方法,歡迎留言給我,感激不盡。

    (已找到,詳見使用openssl為ssl證書增加“使用者備用名稱(DNS)”)

    主要修改在openssl.cnf

        將文件中原來(lái)的

commonName                    = Common Name (eg, your name or your server\'s hostname)

commonName_max                = 64

修改為

0.commonName                    = Common Name (eg, your name or your server\'s hostname)
0.commonName_max                = 64

就是在前面加了個(gè) “0.”,好了,如果要添加其他域名,只需要再增加相同的記錄,前面的序號(hào)依次遞增即可:

0.commonName                    = Common Name (eg, your name or your server\'s hostname)
0.commonName_max                = 64
1.commonName                    = other  Common Name

1.commonNAme_max                = 64

......

其他的步驟:

openssl.cnf中會(huì)要求部分文件及目錄存在:

[root@localhost]#mkdir -p CA/{certs,crl,newcerts,private}

[root@localhost]# touch CA/index.txt

[root@localhost]#echo 00 > CA/serial

1.生成ca.key并自簽署

openssl req -new -x509 -days 3650 -keyout ca.key -out ca.crt -config openssl.cnf

2.生成server.key(名字不重要)

openssl genrsa -out server.key 2048

3.生成證書簽名請(qǐng)求
openssl req -new -key server.key -out server.csr -config openssl.cnf

Common Name 就是在這一步填寫的,每次一個(gè),如果沒有那么多,可以直接回車

4.使用自簽署的CA,簽署server.scr

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
#輸入第一步設(shè)置的密碼,一直按y就可以了

server.crt server.key就是web服務(wù)器中使用的文件。

NGINX 雙向認(rèn)證

如果要做NGINX客戶端證書驗(yàn)證的話,重復(fù)2、3、4,并執(zhí)行下面命令生成個(gè)人證書

openssl  pkcs12 -export -inkey server.key -in server.crt -out  server.p12

將個(gè)人證書導(dǎo)入pc,同時(shí)在nginx ssl基礎(chǔ)上增加設(shè)置:

ssl_verify_client on;
ssl_client_certificate ca.crt;

另外:nginx的雙向認(rèn)證是相對(duì)獨(dú)立的,你可以在驗(yàn)證server端用你購(gòu)買的ssl證書,然后在驗(yàn)證客戶端用自簽名的ca和證書。

附件:http://down.51cto.com/data/2364956

當(dāng)前名稱:利用openssl簽署多域名證書
文章源于:http://bm7419.com/article22/jdeecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)小程序開發(fā)、電子商務(wù)、ChatGPT品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)