憑證疑難排解
Docker 安裝支援
Docker 安裝僅支援開發和測試環境。對於生產環境,請在 Kubernetes 叢集上安裝 Rancher。
如何知道我的憑證是否為 PEM 格式?
您可以透過以下特徵識別 PEM 格式:
- 檔案以下列標頭開始:
-----BEGIN CERTIFICATE----- - 標頭後面跟著一長串字元。
- 檔案以頁尾結束: -----END CERTIFICATE-----
PEM 憑證範例:
----BEGIN CERTIFICATE-----
MIIGVDCCBDygAwIBAgIJAMiIrEm29kRLMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNV
... more lines
VWQqljhfacYPgp8KJUJENQ9h5hZ2nSCrI+W00Jcw4QcEdCI8HL5wmg==
-----END CERTIFICATE-----
PEM 憑證金鑰範例:
-----BEGIN RSA PRIVATE KEY-----
MIIGVDCCBDygAwIBAgIJAMiIrEm29kRLMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNV
... more lines
VWQqljhfacYPgp8KJUJENQ9h5hZ2nSCrI+W00Jcw4QcEdCI8HL5wmg==
-----END RSA PRIVATE KEY-----
如果您的金鑰看起來像下面的範例,請參閱將憑證金鑰從 PKCS8 轉換為 PKCS1。
-----BEGIN PRIVATE KEY-----
MIIGVDCCBDygAwIBAgIJAMiIrEm29kRLMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNV
... more lines
VWQqljhfacYPgp8KJUJENQ9h5hZ2nSCrI+W00Jcw4QcEdCI8HL5wmg==
-----END PRIVATE KEY-----
將憑證金鑰從 PKCS8 轉換為 PKCS1
如果您使用的是 PKCS8 憑證金鑰檔案,Rancher 將記錄以下內容:
ListenConfigController cli-config [listener] failed with : failed to read private key: asn1: structure error: tags don't match (2 vs {class:0 tag:16 length:13 isCompound:true})
要解決此問題,您需要使用以下指令將金鑰從 PKCS8 轉換為 PKCS1:
openssl rsa -in key.pem -out convertedkey.pem
現在您可以使用 convertedkey.pem 作為 Rancher 的憑證金鑰檔案。
如果我想新增中繼憑證,憑證的順序是什麼?
新增憑證的順序如下:
-----BEGIN CERTIFICATE-----
%YOUR_CERTIFICATE%
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
%YOUR_INTERMEDIATE_CERTIFICATE%
-----END CERTIFICATE-----
如何驗證我的憑證鏈?
您可以使用 openssl 二進位檔來驗證憑證鏈。如果指令的輸出(請參閱下面的指令範例)以 Verify return code: 0 (ok) 結尾,則您的憑證鏈是有效的。ca.pem 檔案必須與您新增到 rancher/rancher 容器的檔案相同。
使用由認可的憑證授權單位簽署的憑證時,您可以省略 -CAfile 參數。
指令:
openssl s_client -CAfile ca.pem -connect rancher.yourdomain.com:443
...
Verify return code: 0 (ok)