最近在調試服務時須要使用證書,所以對證書的生成和使用作了一些整理,網上關於這部分資料也不少,可是很雜亂,我整理出如下簡單的步驟生成自簽名證書,具體讓咱們來看一看吧。css
第一種方式
經過openssl生成私鑰html
openssl genrsa -out server.key 1024
使用私鑰生成自簽名的cert證書文件,如下是經過參數只定證書須要的信息git
openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN/ST=mykey/L=mykey/O=mykey/OU=mykey/CN=domain1/CN=domain2/CN=domain3"
若是對上面參數具體的說明不太瞭解的,可使用不帶參數的方式,經過命令行步驟生成,參考第二種方式。github
第二種方式
經過openssl生成私鑰ajax
openssl genrsa -out server.key 1024
根據私鑰生成證書申請文件csr編程
openssl req -new -key server.key -out server.csr
這裏根據命令行嚮導來進行信息輸入:app
ps.Common Name能夠輸入:*.yourdomain.com,這種方式生成通配符域名證書dom
使用私鑰對證書申請進行簽名從而生成證書ssh
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
這樣就生成了有效期爲:10年的證書文件,對於本身內網服務使用足夠。post
第三種方式
直接生成證書文件
openssl req -new -x509 -keyout server.key -out server.crt -config openssl.cnf
ps.以上生成獲得的server.crt證書,格式都是pem的。
我我的比較推薦使用第二種方式,若是不在意其餘參數可使用第三種直接一步生成。