為什麼 Windows 2012 R2 不信任我的自簽名證書?
在測試環境中,我目前正在測試一些需要盡快部署的東西(實際上已經,但你知道截止日期如何……)因為 Windows 拒絕信任我們在我們的自簽名證書隔離的測試環境。雖然我可以用“真正的”證書和一些 DNS 技巧來迴避這個問題,但出於安全/分隔的原因,我沒有說證書。
我正在嘗試連接到名為 Zimbra 的基於 Linux 的電子郵件伺服器;它使用自動生成的自簽名 OpenSSL 證書。雖然 Google 出現的頁面專門指的是具有 IIS 自簽名證書的 IIS 網站,但我認為生成它的方法實際上並不重要。
根據我在此處和此處找到的說明,將證書安裝到本地電腦的受信任的根證書頒發機構儲存中應該很簡單。我已經完成了,以及手動複製證書並通過 MMC 管理單元直接導入。註銷和重新啟動不會改變任何東西。
這是我每次得到的證書錯誤:
這是認證路徑(劇透:這只是證書本身):
最後,這是安全地藏在本地電腦證書儲存中的證書,正如我發現的說明所說的那樣:
這些說明特別提到了 Vista(嗯,第二個沒有提到作業系統)和 IIS,而我使用 Server 2012 R2 連接到基於 Linux 的伺服器;導入嚮導中存在一些差異(例如我可以選擇為目前使用者或本地系統導入,儘管我都嘗試過),所以也許我必須在這裡做一些不同的事情?我沒有找到的某個設置必須更改以使其真正信任我已經告訴它信任的證書?
使 Windows Server 2012 R2 信任自簽名證書的正確方法是什麼?
您收到的錯誤不是它不是受信任的根證書,而是它無法驗證鏈到受信任的證書。如果鏈的任何部分損壞、不受信任或失去,您將收到此類錯誤。我使用不受信任的自簽名根得到的錯誤是這樣的:此 CA 根證書不受信任。要啟用信任,請在受信任的根證書頒發機構儲存中安裝此證書。但對你來說,它說它無法驗證受信任的根證書。這可能是在自簽名過程中,您可能已經告訴 openssl 使用不同的根(不是自簽名)對證書進行簽名,或者它可能沒有設置為根 CA。如果它是第一個,則您必須信任它簽署的根目錄。如果是後者,就是在openssl.conf中設置幾個屬性的問題。