证书故障排除
我如何知道我的证书是否为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的证书密钥文件。