我正在尝试将新的 SSL 证书安装到 Traefik 中。我的证书由第三方 (Setigo) 签名,并通过链提供给我:
-----BEGIN CERTIFICATE-----
[[SNIP - Root CA]]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[[SNIP - Intermediate CA]]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[[SNIP - Intermediate CA]]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[[SNIP - MyServer Cert]]
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
链中的最后一个证书与单个证书匹配。当我将该证书和相应的密钥传递给 Traefik 时,出现以下错误:
failed to load X509 key pair: tls: private key does not match public key
Run Code Online (Sandbox Code Playgroud)
在线研究,我发现这些命令可以验证证书和私钥的公钥/模数
openssl rsa -modulus -noout -in myserver.key | openssl md5
openssl x509 -modulus -noout -in myserver.crt | openssl md5
Run Code Online (Sandbox Code Playgroud)
当我针对链接证书运行此命令时,结果不匹配。当我针对它匹配的单个证书运行它时。
我无法使用单独的证书,因为它不是由受信任的根签名的,因此在使用 OpenSSL s_client 时出现以下错误: …