Ssl

AppEngine 上的 IA(中間機構)SSL 證書

  • February 13, 2015

我有一個網站在 AppEngine 上以一個域名執行,SSL 按預期工作。但是,我切換到另一個域名,我無法讓 SSL 工作。

當我上傳證書時,它會提示我輸入“PEM 編碼 X.509”證書文件和“未加密 PEM 編碼 RSA”私鑰文件。

對於最後一個域,我只需插入 CRT 和私鑰。此密鑰在頂部顯示“—–BEGIN PRIVATE KEY—–”,並不表示它是 RSA 密鑰,但沒關係。如果它很重要,我使用命令行生成了密鑰/CSR:

openssl req -new -nodes -keyout abc.com.key -out abc.com.csr -newkey rsa:2048

但是,對於這個新域,我將提供 CRT(實際上是 CRT 和 IA 按此順序連接)和密鑰文件。密鑰沒有密碼,它們似乎都是 PEM 格式的(標準的、編碼的、ASCII 文件,對嗎?)。

但是,我收到一個錯誤:“私鑰和 SSL 證書都應該是未加密的 PEM 格式。” 上次沒有發生這種情況。

另一個網站說我需要執行以下命令來生成 AppEngine 可以使用的密鑰:

openssl rsa -in abc.com.key -text > abc.com.key.pem

但是,我不知道這兩種格式的區別,新文件的頂部有模數、指數、素數和係數,然後是“BEGIN RSA PRIVATE KEY BLOCK”。話雖如此,我現在可以上傳原始 CRT 和這個新的密鑰文件。

這是我的第一個問題(我不明白我在做什麼,在這裡)。

我的第二個問題是 IA 證書被忽略:AppEngine 表明我只上傳了一個證書(我在某處看到它應該指示兩個證書)。當我分別上傳 IA 和新密鑰時,我收到錯誤消息:“上傳的私鑰與 SSL 證書不匹配。請上傳匹配的密鑰。”

顯然,後者是更大的錯誤。我從 Python 收到一些 SSL 驗證錯誤,但不是來自瀏覽器。

我將不勝感激有關此事的任何建議。

不管以前版本的 Admin 是什麼情況,如果它實際上已經改變,我們必須執行上面的第二個命令(“openssl rsa -in abc.com.key -text > abc.com.key .pem”)。

我對所讀內容的解釋是不正確的。當上傳的是普通證書和 IA 證書串聯時,AppEngine 只會指示已使用一個證書槽。

AppEngine 應用更改(在所有系統中)也有長達一小時的延遲。

我相信傳播延遲與瀏覽器中的一些記憶體相結合會產生相當不一致的結果。

使用“openssl s_client abc.com -servername abc.com”,我看到了更真實的結果,並且還可以看到鏈中已經配置了兩個證書,正如預期的那樣。

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