openssl簽署自己的泛域名(通配符)證書

!!!! 火狐瀏覽器對多CN的通配符識別有問題,只識別第一個,所以建議用備用主機名(DNS)方式,。已測試有效 !!!!

 

 

openssl自建CA默認簽署的是單域名證書,因爲單臺服務器上有多個https域名,有的時候希望一個證書能解決所有問題,如果是同一個頂級域名,那麼泛域名(通配符)證書正好適合你


不需要修改openssl.cnf,其他有的擴展最好都註釋掉,不註釋也不影響

只要在輸入域名(CN)的時候,把www.baidu.com 改成 *.baidu.com
!!這裏要注意, a.b.baidu.com  要寫成 *.b.baidu.com

!!另外, 經過測試,泛域名可以和多CN方式同時使用,在多CN填寫域名的時候用*.xxx.com代替。
至於用主機名方式,大家可以自行測試。

 

其他的步驟:

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

[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.生成證書籤名請求
openssl req -new -key server.key -out server.csr -config openssl.cnf
Common Name 就是在這一步填寫的,*.baidu.com


4.使用自簽署的CA,簽署server.scr
openssl ca -days 180 -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
#輸入第一步設置的密碼,一直按y就可以了


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

 

NGINX 雙向認證

如果要做NGINX客戶端證書驗證的話,重複2、3、4,並執行下面命令生成個人證書
5.生成個人證書
openssl  pkcs12 -export -inkey xxx.key -in xxx.crt -out  xxx.p12

將個人證書導入pc,同時在nginx ssl基礎上增加設置:
ssl_verify_client on;
ssl_client_certificate ca.crt;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章