===== 從 IIS Windows 伺服器上匯出 SSL 憑證 ===== 請先把您的 IIS 憑證以 pfx 的檔案格式匯出(這也算是檔案備份的一種方式): * 執行 mmc.exe * 點擊 '控制台' 選單,接著點擊 '新增/移除 Snap-in'。 * 點擊 '新增' 按鈕,接著選擇 '憑證' snap-in 並點擊'新增'。 * 選擇 '電腦帳戶' 接著點擊 '下一步'。 * 選擇 '本地電腦' 接著點擊 'OK'. * 點擊 'Close' ,接著點擊 'OK'. * 展開'憑證'選單,接著點擊'個人'資料夾。 * 在您要匯出的憑證上點擊右鍵,接著選擇'所有任務' -> '匯出'。 * 您會看到協助精靈顯示。請確定您已經勾選包含私鑰的方塊選項,並請依照協助精靈的指示繼續進行直到您取得 .PFX 檔案。 ===== 將已生成的 SSL 憑證進行轉換,以便 IIS 得以將私鑰及憑證檔案轉換成在 Apache 上變成 Windows 或 Linux 可用的檔案 ===== 執行 openssl 以便解壓縮私鑰及憑證檔案。 * 從 .PFX 檔案匯出私鑰 openssl pkcs12 -in filename.pfx -nocerts -out key.pem * 從 .PFX 檔案匯出憑證檔案 openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem * 這將移除私鑰的密碼,所以 Apache 不會在開始時詢問您密碼 openssl rsa -in key.pem -out server.key ===== 將 SSL 憑證從 .crt 轉換成 .pem 或 .pfx (Windows / Linux 相容) ===== * 將 DER 檔案格式 (.crt .cer .der) 轉換成 PEM openssl x509 -inform der -in certificate.cer -out certificate.pem * 將 PEM 檔案格式轉換成 DER openssl x509 -outform der -in certificate.pem -out certificate.der * 轉換包含私鑰及憑證檔案的 PKCS#12 檔案 (.pfx .p12) 成為 PEM openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes * 將 PEM 憑證檔案及私鑰轉換成 PKCS#12 (.pfx .p12) openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt ===== 在 IIS 上匯入您的憑證 ===== 匯入您的憑證/私鑰 (從 .pfx 檔案格式) * 請從開始選單裡選擇"執行..."。輸入 "mmc" 接著點擊 Enter。 * 在檔案選單底下選擇新增/移除 Snap in。 * 點擊新增,接著從單獨新增 Snap-in 界面上選擇憑證,並點擊新增。 * 選擇電腦帳戶,選擇下一步,接著選擇本地電腦,然後點擊完成。 * 點擊關閉以便將新增單獨 Snap-In 視窗關閉。 * 點擊 ok 就可以關閉新增/移除 Snap in 視窗。 * 點擊 + 以便展開憑證 (本地電腦) 控制台樹狀圖 * 在個人憑證商店 (資料夾) 上點擊右鍵 * 選擇 > 所有任務 > 匯入 * 依照憑證匯入精靈的指示把您的主要憑證從 .pfx 檔匯入。當提示出現時,選擇自動將憑證依照類型放置在相對應的憑證商店內。 * 關閉 MMC 控制台。如果您收到提示時,您不需要儲存您對 MMC 控制台所做的變更。 ===== 在 IIS 上設定您的憑證 ===== * 在您的 IIS 管理界面底下,請於您要使用憑證的網站上點擊右鍵並選擇屬性。 * 點擊目錄安全分頁卡並點擊伺服器憑證按鈕。接著會啟用伺服器憑證精靈。 * 在給您的選項裡,為網站選取'指定一個已建立的憑證',並選擇您剛匯入的憑證。\\ 如果您沒有該選項,則您會被詢問目前網站上的憑證該如何處理。請選擇"取代"您目前的憑證這個選項。 * 瀏覽以便選取您稍早所建立的 .pfx 檔。 * 完成憑證精靈的流程。 有時候,您必須重新啟動伺服器或是 IIS,您的伺服器才能識別新的憑證。