Windows

在 Windows 10 上打開 SSL 錯誤 - 將簽名的 CSR 從 PEM 轉換為 CRT

  • April 3, 2021

我正在嘗試為使用者創建具有 x.509 證書身份驗證的 IPSec VPN 連接。

接下來是一個讓事情順利進行的測試,並不是一個安全的實現。當我得到這個工作時,我將從受信任的來源獲得證書,同時我正在使用自簽名。

我在 Windows 10 20H2 上

1- 我用 XCA 創建了一個根證書。

2- 我為我的第一個 vpn 使用者創建了一個證書籤名請求。

3- 我用 XCA 簽署請求

4-我以 PEM 格式從 XCA 導出請求

5- 我安裝 OpenSSL 並將環境變數 OPENSSL_CONF 設置為安裝文件夾中的 openssl.cfg。我在 W10 上使用https://slproweb.com/products/Win32OpenSSL.html(64位)作為 openSSL

6- 樂趣開始了。

據我了解,我必須使用管理單元證書通過命令行中的 mmc 在 Windows 機器中添加證書。添加嚮導的東西。它不接受 pem 格式,它需要一個 crt。

然後我參考 OpenSSL 進行格式轉換

當我輸入 x509 -in CERT.pem -out CERTII.crt

我收到以下錯誤:

Can't open CERT.pem for reading, No such file or directory
15732:error:02001002:system library:fopen:No such file or directory:crypto\bio\bss_file.c:69:fopen('CERT.pem','r')
15732:error:2006D080:BIO routines:BIO_new_file:no such file:crypto\bio\bss_file.c:76:
unable to load certificate
error in x509

我已經搜尋了很多,但找不到這個錯誤的確切含義,我正在考慮將頭髮一根一根地拔出來作為一種可行的選擇。

編輯 2020-12-11 1600

重命名為 .crt 並添加到本地證書給了我一個錯誤:

file type is not recognizable. Select another file.

此外,即使使用 admin priv. 在 openssl cli 中指定完整路徑,我也會收到錯誤消息。

例如,如果我將證書複製到 OpenSSL 文件夾中,並嘗試執行命令“openssl x509 -in CERT.pem -out CERT.crt”,則會出現以下錯誤:

"unable to load certificate
15252:error:0909006C:PEM routines:get_name:no start line:crypto\pem\pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
error in x509"

編輯 2020-12-10 1610 - 證書片段

-----BEGIN CERTIFICATE REQUEST-----
MIIDGjCCAgICAQAwgaExCzAJBgNVBAYTAkNBMQ8wDQYDVQQIEwZRVUVCRUMxEjAQ
....
hfz1ew0RTMxZv2hMlN/wn5Y0EZKpRr5jMrgZprG7
-----END CERTIFICATE REQUEST-----

我猜它不應該被列為請求,而是作為簽名證書?

編輯 2020-12-10 1626 EST

UnNamed 解決了我的問題。對他們大喊大叫。

在 XCA 中,當您簽署請求時,並不清楚它需要從不同的選項卡(證書)導出。

在用於簽署使用者證書的根證書下,是一個帶有已簽名使用者證書的下拉列表。在為其中的證書創建自定義視圖後,我能夠將其導出並將其添加到 mmc 中而不會出現問題。

繼續從這裡設置 VPN。

證書需要與 位於同一目錄中,openssl.exe或者指定完整/絕對路徑,例如C:\temp\cert.pem.

crt 文件副檔名適用於 Windows,內容為 base64 PEM 格式。無需“轉換”內容。只需將文件副檔名從 重命名.pem.crt.

引用自:https://serverfault.com/questions/1045868