
希望有人能幫我解決這個問題,因為關於這個主題的文章似乎相互矛盾。
我有一台運行帶有 IIS6 的 Windows Server 2003 R2 的舊伺服器,需要在 SHA-256 中產生 SSL 憑證請求。
我已經從 MS 安裝了此修補程式(http://support.microsoft.com/kb/948963)這應該添加 SHA-256 支援。
現在已經安裝完畢,我到底該如何讓 IIS 產生 SHA-256 格式的 CSR?
先致謝
克里斯
答案1
有一些更新在 Windows Server 2003 中新增了 SHA-256 支援。KB2868626;安裝此更新後,您可以在 Server 2003 SP2 上安裝 SHA-256 SSL 憑證。您可能還想安裝以下內容,以便可以連接到您自己的網站。
KB938397向 Server 2003(SP1 或 SP2)新增 SHA-256 支援。此更新僅使 Server 2003 能夠連接到使用 SHA-256 憑證的站點,但無法自行提供它們(為此您需要上述 KB2868626)。還有一個額外的 SHA-2 更新,其中 XP 和 Server 2003 用戶端無法從 Windows Server 2008 取得 SHA-256 證書,即KB968730。
關於 CSR 生成,如果您從公共 CA 購買證書,則不需要在 CSR 中指定簽名演算法。 CA 將根據您的選擇和/或 CA 的核發政策向您頒發使用 SHA1 或 SHA2 簽署的憑證。
我確實研究過它,但在 Server 2003 中沒有看到創建 SHA-256 CSR 的方法。 Windows 內建了一個名為「Certreq」的實用程式。我在中沒有看到 HashAlgorithmServer 2003 版本的 certreq,但它存在於以後的版本。
我發現的另一個參考資料是透過 MMC 建立自訂請求。在教程中它引用選擇哈希演算法,但螢幕截圖不匹配。可能值得調查。
一些額外的資源:
答案2
SHA-256 中不存在 SSL 憑證請求之類的東西。
建立 CSR 時,您只能選擇大小(1024 位元-4096 位元)。
您需要將該 CSR 發送給憑證授權機構,由其為您簽署。他們很可能會預設使用 SHA-256 簽名對其進行簽名,或提供一個列錶框以在 SHA1 和 SHA-256 之間進行選擇。
更新:看來 CSR 確實也已簽署。 Windows 預設使用 SHA-1 執行此操作,但在 Google 中搜尋「iis csr sha256」會發現很多指標。
答案3
我認為與其在 IIS6 中生成 CSR,不如轉到運行較新版本(如 Windows 2008R2 或 2012R2)的其他伺服器來產生 CSR,然後將其發送到您的 CA。獲得證書後,將其匯出到.pfx文件,然後返回2003R2伺服器,複製並匯入。我已經在我的一台 2003R2 機器上成功完成了這項工作。