注意:
如果報找不到 OPENSSL.CNF檔案的錯誤,可以到網上下一個,然後用 -config openssl.cnf來指定這個設定檔的位置,或放到報錯時提示的指定位置
1.產生根憑證的KEY, 1024的意思是RSA加密位元,必須為2的N次方,一般用1024即可。
openssl genrsa -out ca.key 1024
2.用剛剛產生的根憑證的KEY來產生CSR(認證簽發請求),這一步會要求填寫請求的相關資訊。
openssl req -new -key ca.key -out ca.csr
其中要注意的輸入項有兩個,一個Common Name(認證機構名),另一個challenge password(記住即可)
3.再用剛才的CSR和KEY來產生我們的根憑證, days參數用來指定認證的有效天數。
openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt
以同樣的辦法產生伺服器憑證
1.先產生KEY
openssl genrsa -out server.key 1024
2.然後用KEY產生CSR,這一步輸入資訊裡的Common Name必須填網站的網域名稱
openssl req -new -key server.key -out server.csr
3.產生伺服器憑證
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
簽發一個用戶端認證,把最後產生的,尾碼為P12檔案給用戶端安裝。
1.先產生用戶端的KEY
openssl genrsa -out client.key 1024
2.用KEY來產生CSR,但是這一步輸入資訊裡的Common Name不能填上面的網站網域名稱,因為這個是用戶端的認證,如果填的和伺服器憑證的一樣,會導致驗證失敗。
openssl req -new -key client.key -out client.csr
3.用最開始產生的根憑證來簽署產生這個用戶端的認證。
openssl x509 –req –days 3650 –CA ca.crt –Cakey ca.key –Cacreateserial –in client.csr –out client.crt
4.製作用戶端安裝認證,這一步會要求輸入一個Export Password,就是用戶端安裝認證時要求輸入的安裝密碼
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
下面開始APACHE的配置。
第一步就是在Apache的設定檔裡把SSL模組載入進來
LoadModule ssl_module modules/mod_ssl.so
再把SSL的設定檔也載入進來,如果沒有這個設定檔的話,可以去下一個
Include conf/extra/httpd-ssl.conf
然後修改httpd-ssl.conf檔案,找到如下的索引值修改成對應你自己系統的路徑。
DocumentRoot "E:\VertrigoServ\www"
#localhost改成網站的網域名稱
ServerName localhost:443
ErrorLog "E:/VertrigoServ/Apache/logs/error.log"
TransferLog "E:/VertrigoServ/Apache/logs/access.log"
SSLEngine on
#下面的檔案就是我們剛才用OPENSSL產生的,注意修改成自己的路徑
SSLCertificateFile "E:/VertrigoServ/Apache/conf/server.crt"
SSLCertificateKeyFile "E:/VertrigoServ/Apache/conf/server.key"
SSLCACertificateFile "E:/VertrigoServ/Apache/conf/ca.crt"
完成後重啟APACHE