首先產生crt
你必須先安裝openssl
輸入以下指令,產生server.csr
set OPENSSL_CONF=YourDrive:\xampp\apache\conf\openssl.cnf
set RANDFILE=C:\Temp\.rnd
openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr
其中,這個myserver.key 非常的重要,一定要好好的保存,不然你的ssl 就沒用了
產生的server.csr 可以交給中華電信申請ssl
購買完後,會收到三個檔案和一堆的廢話
如下

按照下面方式,將 PublicCA_64.crt 轉成 eCA_PublicCA.p7b 格式






出現以下憑證匯出精靈的畫面,請點選「確定」,即完成了 eCA 根憑證 及 PublicCA CA 憑證之憑證串鏈的取得
輸入以下指令
產生 pem檔
openssl pkcs7 -in eCA_PublicCA.p7b -inform DER -print_certs -out eCA_PublicCA.pem
然後,在 httpd.conf. 或 httpd-vhost.conf 或 ssl.conf
加入以下參數 (或是拿掉註解),其實在哪都可以,只是我個人的是有vhost, 並針對不起的host 有不同的ssl ,所以我選擇在vhost.conf裡加
SSLEngine on
SSLCertificateFile "E:/xampp/apache/conf/ssl.crt/ssl_xxx.crt"
SSLCertificateKeyFile "E:/xampp/apache/conf/ssl.key/myserver.key"
SSLCertificateChainFile "E:/xampp/apache/conf/ssl.crt/ssl_xxx.ca-bundle"
上面是路徑的範例,以下是說明
SSLCertificateFile "(這裡輸入是的「中華電信那一個唯一的一個亂數16位的英數的檔名)(你可以自己變更檔名為簡單一點的)"
SSLCertificateKeyFile "這裡是生成csr 的 key ,在文章一開始說到的很重要的 myserver.key "
SSLCertificateChainFile "這裡輸入的是剛剛產生的eCA_PublicCA.pem"
很重要!!!
eCA_PublicCA.pem 要變更副檔名為 crt 才能使用!!
如果在過程中你無法正常的啟動apach
確認以下幾個東西
一、apache 的 ssl module 有沒有開啟或載入
二、有無安裝openssl
三、上述三個檔案的路徑檔名是否正確
四、你的crt , 跟 .key 跟 .pem 等的關係是否正確 ,是不是哪個檔案錯了
五、打開你的log 看一下哪裡有問題
請先 登入 以發表留言。