기존 풀체인 인증서 확장

기존 풀체인 인증서 확장

하위 도메인에 대한 새 인증서를 만드는 대신 기존 파일을 확장하고 싶습니다.

내 파일에는 이미 다음 필드가 있습니다.

certtool -i < /etc/letsencrypt/live/example.org-0002/fullchain.pem|grep DNSname
                        DNSname: forum.example.com
                        DNSname: m.example.de
                        DNSname: m.example.org
                        DNSname: example.com
                        DNSname: example.de
                        DNSname: example.org
                        DNSname: wiki.example.org
                        DNSname: www.example.com
                        DNSname: www.example.de
                        DNSname: www.example.org

( certtool데비안 패키지의 일부)gnutls-bin

알아요. 이 certbot --expand옵션이 있지만 정확한 도메인을 다시 설정하지 않으면 다음 접미사가 포함된 새 인증서가 생성됩니다.-0003

기존 인증서 파일에만 도메인을 추가하려는 경우 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?

답변1

출력에서 목록을 생성하려면 다음 명령을 사용하십시오.

echo 'echo "-d $@"'>/tmp/runme.sh
chmod +x /tmp/runme.sh
domains_with_hyphen_d="$(certtool -i < /etc/letsencrypt/live/example.org-0002/fullchain.pem|grep DNSname|cut -d ":" -f2| xargs -n 1 /tmp/runme.sh|xargs)"
certbot certonly --webroot -w /usr/share/nginx/html/ --expand -d newsubdomain.example.org $domains_with_hyphen_d

답변2

기존 인증서에 대해 모든 도메인을 작성할 필요가 없도록 일부 certbot 스위치를 찾고 있었지만 certbot에는 그러한 스위치가 없습니다. 그래서 나는 이 해결책을 생각해 냈습니다.

CERTNAME=example
DOMAINS=$(certbot certificates --cert-name ${CERTNAME}|grep Domains|cut -d\  -f 6-|sed 's/ /,/g')
NEWDOMAINS=new.example.com,othernew.example.com
certbot certonly --cert-name ${CERTNAME} --expand --domains ${DOMAINS},${NEWDOMAINS}

참고: 인증서에 --cert-name이 없으면 대신 --domain을 사용하고 기존 인증서에 대한 기존 DNS 대체 이름을 사용하십시오.

관련 정보