짐브라 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/*
짐브라 계정
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