前言:有幾個(gè)概念需要簡(jiǎn)單說明一下(如果說的有錯(cuò)誤請(qǐng)留言,勿拍磚):1、私鑰:與公鑰成對(duì)出現(xiàn),個(gè)人持有。用于加密,以及解密公鑰加密過得文本,使用場(chǎng)景如簽名,解密公鑰加密發(fā)送來的數(shù)據(jù)。后綴名為.key,.pfx(實(shí)際上這種格式的證書包含私鑰以及公鑰)2、公鑰:與私鑰成對(duì)出現(xiàn),發(fā)給信任的機(jī)構(gòu),用于加密信息和認(rèn)證,使用場(chǎng)景如驗(yàn)證簽名,密文傳輸數(shù)據(jù)。公鑰通常都包含在證書中,所以后綴名為:.cer(windows),.crt(Linux)3、證書:證書中一般包含簽發(fā)機(jī)構(gòu)信息,證書DN號(hào)等信息,再加上公鑰。后綴名通常為:.pfx,.pem(與pfx類似,包含.key和.cer內(nèi)容。用Base64編碼的X.509 03證書),.cer,.crt,.der(二進(jìn)制編碼的cer/crt文件)*有自制證書需求的同學(xué),肯定會(huì)用到openssl。在安裝openssl后,執(zhí)行命令會(huì)找不到openssl配置文件的錯(cuò)誤。這時(shí)就需要執(zhí)行下面這個(gè)命令:set OPENSSL_CONF=D:\OpenSSL-Win32\bin\openssl.cfgopenssl生成ssl證書步驟:自制證書時(shí)主要配置,如下: root.key:**證書私鑰密碼** CountryName:CN State or Province Name:BeiJing LocalityName:BeiJing Organization Name:**證書發(fā)放組織名稱** Organizational Unit Name:**證書發(fā)放組織單位名稱** Common Name:**一般寫網(wǎng)站的域名** Email Address:**證書發(fā)放組織郵箱** #生成rsa私鑰 openssl genrsa -des3 -out root key #配置環(huán)境變量,制定openssl.cfg配置文件的路徑 set OPENSSL_CONF=C:\cert\OpenSSL-Win64\bin\openssl.cfg #生成CA的crt,用來簽署下面的root.csr文件,有效期10年 openssl req -new -x509 -key root.key -out ca.crt -days 3650 #生成的csr文件交給CA簽名后形成服務(wù)器自己的證書.重要:有一個(gè)common name可以寫域名,如果為了https申請(qǐng),這個(gè)必須和域名吻合,否則會(huì)引發(fā)瀏覽器報(bào)警 openssl req -new -key root.key -out root.csr #輸入key的密鑰后,完成證書生成.-CA選項(xiàng)指明用于被簽名的csr證書,-CAkey選項(xiàng)指明用于簽名的密鑰,-CAserial指明序列號(hào)文件,而-CAcreateserial指明文件不存在時(shí)自動(dòng)生成. #最后生成了私用密鑰:root.key 和自己的SSL證書 root.crt openssl x509 -req -days 3650 -in root.csr -CA ca.crt -CAkey root.key -CAcreateserial -out root.crt #證書合并: #linux cat root.key root.crt > root.pem #windows copy /b /y root.key+root.crt root.pem #合并私鑰和證書到pfx文件中,使用pksc12格式 C:\cert\OpenSSL-Win64\bin>openssl pkcs12 -export -in root.pem -inkey root.key -out root.pfx |
|