疑難排解程序取決於您使用的SSL 憑證類型。
排解自行管理的安全資料傳輸層 (SSL) 憑證問題
本指南說明如何排解自行管理 SSL 憑證的設定問題。
無法剖析憑證
Trusted Cloud 需要 PEM 格式的憑證。如果憑證是 PEM 格式,請檢查以下項目:
您可以使用下列 OpenSSL 指令驗證憑證,將 CERTIFICATE_FILE
替換為憑證檔案的路徑:
openssl x509 -in CERTIFICATE_FILE -text -noout
如果 OpenSSL 無法剖析憑證:
- 請與 CA 聯絡以取得協助。
- 建立新的私密金鑰和憑證。
缺少慣用名或主體別名
Trusted Cloud 要求憑證必須具備任一共用名稱 (CN
) 或主體別名 (SAN
) 屬性。如需更多資訊,請參閱「建立 CSR」。
如果兩個屬性都缺少, Trusted Cloud 會在您嘗試建立自管憑證時顯示類似以下的錯誤訊息:
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The SSL certificate is missing a Common Name(CN) or Subject Alternative
Name(SAN).
無法剖析私密金鑰
Trusted Cloud 需要符合私密金鑰條件的 PEM 格式私密金鑰。
您可以使用下列 OpenSSL 指令驗證私密金鑰,將 PRIVATE_KEY_FILE
替換為私密金鑰的路徑:
openssl rsa -in PRIVATE_KEY_FILE -check
以下回應表示您的私密金鑰有問題:
unable to load Private Key
Expecting: ANY PRIVATE KEY
RSA key error: n does not equal p q
RSA key error: d e not congruent to 1
RSA key error: dmp1 not congruent to d
RSA key error: dmq1 not congruent to d
RSA key error: iqmp not inverse of q
如要修正這個問題,您必須建立新的私密金鑰和憑證。
含有通關密語的私密金鑰
如果 OpenSSL 提示您輸入通關密碼,您必須先從私密金鑰中移除通關密碼,才能將其與 Trusted Cloud搭配使用。您可以使用下列 OpenSSL 指令:
openssl rsa -in PRIVATE_KEY_FILE \ -out REPLACEMENT_PRIVATE_KEY_FILE
將預留位置替換為有效值:
PRIVATE_KEY_FILE
:使用密碼短句保護的私密金鑰路徑REPLACEMENT_PRIVATE_KEY_FILE
:您要儲存純文字私密金鑰副本的路徑
中繼憑證即將到期
如果中繼憑證的到期日早於伺服器 (葉) 憑證,這可能表示 CA 未遵循最佳做法。
中繼憑證到期後,您在Trusted Cloud 中使用的葉憑證可能會失效。這取決於 SSL 用戶端,如下所示:
- 部分 SSL 用戶端只會查看子葉憑證的到期時間,並忽略已過期的中繼憑證。
- 部分 SSL 用戶端會將含有任何過期中繼憑證的鏈結視為無效,並顯示警告。
如何解決這個問題:
- 等待 CA 切換至新的中繼憑證。
- 向他們索取新的憑證。
- 使用新的金鑰重新上傳新的憑證。
CA 也可能允許中繼憑證的相互簽署。請向 CA 確認。
RSA 公鑰指數過大
如果 RSA 公開指數大於 65537,就會顯示以下錯誤訊息。請務必使用 RFC 4871 中指定的 65537
。
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The RSA public exponent is too large.
從目標 Proxy 中移除 SSL 憑證
下列步驟說明如何移除附加至目標 HTTPS Proxy 的單一 SSL 憑證:
將 target-https-proxy 匯出至暫存檔案。
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
編輯
/tmp/proxy
檔案並移除下列行:sslCertificates: - https://www.googleapis.com/compute/v1/projects/...
匯入
/tmp/proxy
檔案。gcloud compute target-https-proxies import TARGET_PROXY_NAME \ --source=/tmp/proxy
選用步驟:刪除 SSL 憑證。
gcloud compute ssl-certificates delete SSL_CERT_NAME
更改下列內容:
TARGET_PROXY_NAME
:目標 https Proxy 資源的名稱。SSL_CERT_NAME
:SSL 憑證的名稱。