Zimbra certbot LetsEncrypt - 验证失败 - 需要 RSA 密钥

Zimbra certbot LetsEncrypt - 验证失败 - 需要 RSA 密钥

Zimbra Certbot LetsEncrypt

我已经在不同域的单独服务器上安装了 LetsEncrypt SSL 证书,没有出现任何问题。

我遵循了在该服务器上使用的相同程序来创建新服务器(Ubuntu 服务器 - 与其他服务器相同),一切正常,直到验证为止。

** Verifying '/opt/zimbra/ssl/letsencrypt/cert.pem' against '/opt/zimbra/ssl/zimbra/commercial/commercial.key'

140072965674304:error:0607907F:digital envelope routines:EVP_PKEY_get0_RSA:expecting an rsa key:crypto/evp/p_lib.c:474:

ERROR: Certificate '/opt/zimbra/ssl/letsencrypt/cert.pem' and private key '/opt/zimbra/ssl/zimbra/commercial/commercial.key' do not match.

我无法找到有关如何解决此问题的任何信息。

答案1

我发现了问题。在Zimbra的开源8.8.15版本中(我不知道对于版本9的付费程序是否仍然存在问题),Zimbra不理解ECDSA类型的SSL密钥。该代码专门寻找 RSA 密钥,如果不是 RSA 密钥,则验证将失败,即使验证实际上很好。

因此,如果使用此版本的 Zimbra,则在向 Let's Encrypt(可能还有其他提供商)发出 SSL 密钥请求时,需要指定 key-type = RSA。

不幸的是,我们花了很长时间才找到误导性信息(即密钥不匹配)。谢谢。 :)

答案2

我相信您的证书将升级到 ECDSA,因此需要使用 RSA 更新您的证书。

使用此命令进行更新

certbot certonly --standalone -d {your domain} --force-renewal --preferred-chain "ISRG Root X1" --key-type rsa

根账户

cd /etc/letsencrypt/live/{domain}/
cat isrgrootx1.pem.txt letsencryptauthorityx3.pem.txt chain.pem > combined.pem
cp * /opt/zimbra/ssl/letsencrypt/
chown zimbra:zimbra /opt/zimbra/ssl/letsencrypt/*

Zimbra 账户

cd /opt/zimbra/ssl/letsencrypt/
cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
/opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem combined.pem
/opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem combined.pem

相关内容