一:環(huán)境與安裝說明
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、察哈爾右翼前網(wǎng)絡(luò)推廣、微信小程序開發(fā)、察哈爾右翼前網(wǎng)絡(luò)營銷、察哈爾右翼前企業(yè)策劃、察哈爾右翼前品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供察哈爾右翼前建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
WIN7_64,Nginx服務(wù)器,OpenSSL_Win64。本人使用phpStudy集成開發(fā)環(huán)境,使用Nginx+PHP,支持瀏覽器https請求。
nginx下載地址:http://nginx.org/en/download.html
openssl下載地址:http://slproweb.com/products/Win32OpenSSL.html
官網(wǎng)地址:https://www.openssl.org/source/
二:安裝OpenSSL及配置
1>下載后雙擊安裝,默認(rèn)安裝路徑是C:\OpenSSL-Win64
2>配置環(huán)境變量,這里不細(xì)說,略過。
三:生成ssl證書
1>首先,無論是在Linux下還是在Windows下的Cygwin中,進(jìn)行下面的操作前都須確認(rèn)已安裝OpenSSL軟件包。
2>創(chuàng)建根證書密鑰文件myopenssl.key,輸入以下命令: openssl genrsa -des3 -out myopenssl.key
這里會(huì)提示讓輸入兩次密碼,請保持兩次密碼一致
Enter pass phrase for root.key: ← 輸入一個(gè)新密碼
Verifying – Enter pass phrase for root.key: ← 重新輸入一遍密碼
3>創(chuàng)建根證書的申請文件myopenssl.csr,輸入以下命令: openssl req -new -key myopenssl.key -out myopenssl.csr
以下是提示信息
Enter pass phrase for root.key: ← 輸入前面創(chuàng)建的密碼
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:CN ← 國家代號(hào),中國輸入CN
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不輸入
Common Name (eg, YOUR name) []: ← 此時(shí)不輸入
Email Address []:admin@mycompany.com ← 電子郵箱,可隨意填
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ← 可以不輸入
An optional company name []: ← 可以不輸入
4>創(chuàng)建一個(gè)自當(dāng)前日期起為期十年的根證書myopenssl.crt,輸入以下命令:openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey myopenssl.key -in myopenssl.csr -out myopenssl.crt
以下是提示信息:
Enter pass phrase for root.key: ← 輸入前面創(chuàng)建的密碼
5>創(chuàng)建服務(wù)器證書密鑰server.key,輸入以下命令:openssl genrsa –des3 -out server.key 2048
運(yùn)行時(shí)會(huì)提示輸入密碼,此密碼用于加密key文件(參數(shù)des3便是指加密算法,當(dāng)然也可以選用其他你認(rèn)為安全的算法.),以后每當(dāng)需讀取此文件(通過openssl提供的命令或API)都需輸入口令.如果覺得不方便,也可以去除這個(gè)口令,但一定要采取 其他的保護(hù)措施。
去除key文件口令的命令:
openssl rsa -in server.key -out server.key
6>創(chuàng)建服務(wù)器證書的申請文件server.csr,輸入以下命令:openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [AU]:CN ← 國家名稱,中國輸入CN
State or Province Name (full name) [Some-State]:BeiJing ← 省名,拼音
Locality Name (eg, city) []:BeiJing ← 市名,拼音
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不輸入
Common Name (eg, YOUR name) []:www.mycompany.com ← 服務(wù)器主機(jī)名,若填寫不正確,瀏覽器會(huì)報(bào)告證書無效,但并不影響使用
Email Address []:admin@mycompany.com ← 電子郵箱,可隨便填
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ← 可以不輸入
An optional company name []: ← 可以不輸入
7>創(chuàng)建自當(dāng)前日期起有效期為期三年的服務(wù)器證書server.crt,輸入以下命令:
openssl x509 -req -days 1095 -sha1 -extensions v3_req -CA myopenssl.crt -CAkey myopenssl.key -CAserial myopenssl.srl -CAcreateserial -in server.csr -out server.crt
8>創(chuàng)建客戶端證書密鑰文件client.key,輸入以下命令:openssl genrsa -des3 -out client.key 2048
Enter pass phrase for client.key: ← 輸入一個(gè)新密碼
Verifying – Enter pass phrase for client.key: ← 重新輸入一遍密碼
9>創(chuàng)建客戶端證書的申請文件client.csr,輸入以下命令:openssl req -new -key client.key -out client.csr
Country Name (2 letter code) [AU]:CN ← 國家名稱,中國輸入CN
State or Province Name (full name) [Some-State]:BeiJing ← 省名稱,拼音
Locality Name (eg, city) []:BeiJing ← 市名稱,拼音
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不填
Common Name (eg, YOUR name) []:Lenin ← 自己的英文名,可以隨便填
Email Address []:admin@mycompany.com ← 電子郵箱,可以隨便填
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ← 可以不填
An optional company name []: ← 可以不填
10>創(chuàng)建一個(gè)自當(dāng)前日期起有效期為三年的客戶端證書client.crt,輸入以下命令:
openssl x509 -req -days 1095 -sha1 -extensions v3_req -CA myopenssl.crt -CAkey myopenssl.key -CAserial myopenssl.srl -CAcreateserial -in client.csr -out client.crt
11>將客戶端證書文件client.crt和客戶端證書密鑰文件client.key合并成客戶端證書安裝包c(diǎn)lient.pfx,輸入以下命令:openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx
Enter pass phrase for client.key: ← 輸入上面創(chuàng)建的密碼
Enter Export Password: ← 輸入一個(gè)新的密碼,用作客戶端證書的保護(hù)密碼,在客戶端安裝證書時(shí)需要輸入此密碼
Verifying – Enter Export Password: ← 確認(rèn)密碼
12>保存生成的文件備用,其中server.crt和server.key是配置單向SSL時(shí)需要使用的證書文件,client.crt是配置雙向SSL時(shí)需要使用的證書文件,client.pfx是配置雙向SSL時(shí)需要客戶端安裝的證書文件.crt文件和.key可以合到一個(gè)文件里 面,把2個(gè)文件合成了一個(gè).pem文件(直接拷貝過去就行了)。