工具介紹
-
OpenSSL是SSL/TLS協(xié)議的實(shí)現(xiàn)工具
-
key是私鑰文件,用于對(duì)發(fā)送給客戶端的數(shù)據(jù)加密,以及對(duì)從客戶端接收的數(shù)據(jù)進(jìn)行解密。
-
csr是證書簽名請(qǐng)求文件,用于提交給證書頒發(fā)機(jī)構(gòu)(CA)對(duì)證書簽名。
-
crt是由證書頒發(fā)機(jī)構(gòu)(CA)簽名后的證書,或者是開發(fā)者自簽名的證書,包含證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息
操作步驟
1、生成證書
生成私鑰
openssl genrsa -des3 -out myCA.key 2048
##openssl genrsa 用于生成RSA私鑰,不會(huì)生成公鑰,因?yàn)楣€提取自私鑰
## -des3為加密方式
## 2048為生成秘鑰長(zhǎng)度
## 可以加上-nodes參數(shù),禁止進(jìn)行加密,即可不運(yùn)行下面的消除密碼
消除私鑰key的密碼openssl rsa -in myCA.key -out myCA.key
生成pem文件openssl req -utf8 -x509 -new -nodes -key myCA.key -sha256 -days 825 -out myCA.pem
2、創(chuàng)建CA簽名證書
生成私鑰openssl genrsa -out server.key 2048
創(chuàng)建證書簽名請(qǐng)求
openssl req -new -key server.key -out server.csr
##Common Name應(yīng)該與域名保持一致,否則會(huì)引起瀏覽器警告
為擴(kuò)展創(chuàng)建一個(gè)配置文件
>server.ext cat <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.baidu.com # Be sure to include the domain name here because Common Name is not so commonly honoured by itself
DNS.2 = www.sougou.com # Optionally, add additional domains (I've added a subdomain here)
IP.1 = 192.168.1.1 # Optionally, add an IP address (if the connection which you have planned requires it) EOF
## chrome 會(huì)查看當(dāng)前域名是否在證書中聲明,該聲明由 subjectAltName 字段設(shè)置。上述的生成步驟默認(rèn)未設(shè)置該字段。
創(chuàng)建簽名證書openssl x509 -req -in server.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile server.ext
得到所需證書文件
server.crt
server.key
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209323 -
OpenSSL
+關(guān)注
關(guān)注
0文章
21瀏覽量
8677
原文標(biāo)題:在linux系統(tǒng)通過OpenSSL工具自簽https證書
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論