SSL.com 고객은 이제 널리 사용되는 ACME 프로토콜을 사용하여 SSL /TLS 인증서.
ACME (Automated Certificate Management Environment)는 자동화 된 도메인 검증 및 X.509 인증서 설치를위한 표준 프로토콜이며, IETF RFC 8555. 많은 오픈 소스가있는 잘 문서화 된 표준 클라이언트 구현, ACME는 웹 사이트 또는 IoT 장치 공개 또는 비공개로 신뢰할 수있는 디지털 인증서가있는 모뎀 및 라우터와 같은 인증서는 시간이 지남에 따라 업데이트됩니다.
이 가이드는 다음 방법을 보여줍니다.
- ACME에 인증서를 요청하는 데 필요한 자격 증명을 찾아 검색합니다.
- Certbot을 사용하여 SSL / 수동 요청TLS 인증서를 통해 HTTP-01 와 DNS-01 도전 방법.
- Certbot을 사용하여 인증서를 취소합니다.
다음을 포함하여 다른 많은 ACME 클라이언트를 사용할 수 있습니다. Kubernetes 인증서 관리자, SSL.com의 ACME 서비스를 이용하세요.
acme4j 이제 클라이언트는 이 저장소에서 SSL.com ACME 서비스를 사용할 수 있습니다. https://github.com/SSLcom/acme4j
Certbot이 아닌 ACME 클라이언트에 대한 지침은 소프트웨어 제공업체의 설명서를 참조하세요.
Certbot 설치
이 가이드는 사용자가 Certbot 설치되었습니다. Certbot은 전자 프론티어 재단 (EFF)에서 개발 한 무료 오픈 소스 도구로 SSL을 요청하거나 취소하는 데 사용할 수 있습니다.TLS ACME 프로토콜을 통해 SSL.com의 인증서. Certbot은 Linux, macOS 및 Windows를 포함한 다양한 플랫폼에서 실행할 수 있습니다.
- 당신이 있으면 스냅 설치, 다음 명령을 사용하여 설치할 수 있습니다.
sudo 스냅 설치-클래식 certbot
- If
/snap/bin/
당신의PATH
, 추가하거나 다음과 같은 명령을 실행해야합니다.sudo ln -s / snap / bin / certbot / usr / bin / certbot
시스템에 Certbot을 설치하는 방법에 대한 자세한 정보가 필요하면 EFF의 선적 서류 비치.
ACME 자격 증명 검색
ACME를 사용하여 인증서를 요청하기 전에 계정 키 와 HMAC 키 SSL.com 계정에서.
- SSL.com 계정에 로그인하십시오. 이미 로그인되어있는 경우 대시보드 탭.
- API 자격 증명, 아래에 위치 개발자 및 통합.
- 당신은 당신의 계정 / ACME 키 와 HMAC 키 인증서를 요청합니다. 클립 보드 아이콘 ()를 클릭하여 값을 클립 보드에 복사합니다.
- 또한, 클립 보드 아이콘 () 옆에 cli 명령아래 애크미 인증봇. 이 미리 형식화 된 명령은 HTTP-01 챌린지 방법을 통해 인증서를 주문합니다.
수동으로 SSL 요청 /TLS 자질
이제 자격 증명을 검색 했으므로 다음을 통해 인증서를 요청할 수 있습니다. certbot
명령. Certbot은 HTTP-01 및 DNS-01의 두 가지 도메인 유효성 검사 (DV) 방법을 지원합니다.
HTTP-01 챌린지 방법
HTTP-01 ACME 및 Certbot에서 가장 일반적으로 사용되는 챌린지 방법입니다. 이러한 방식으로 인증서를 요청하면 Certbot은 웹 사이트에서 공개적으로 액세스 할 수있는 파일을 만드는 데 사용할 수있는 토큰을 생성합니다. SSL.com의 ACME 서버는 HTTP를 통해 파일을 확인하고 올바른 경우 서명 된 인증서를 발급합니다.
요구 사항: HTTP-01 방법을 사용하려면 웹 서버에 대한 액세스 권한이 있어야하며 포트를 통해 사이트를 사용할 수 있어야합니다. 80
HTTP를 통해. 당신은 또한 필요합니다 sudo
컴퓨터에 대한 권한.
인증서를 수동으로 검색하려면 다음 명령을 사용하십시오. 모두 대문자로 표시된 값을 실제 값으로 바꿉니다. (위에서 언급했듯이 포털 계정에서이 작업을 수행하는 certbot 명령을 복사하여 붙여 넣을 수도 있습니다) :
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- 동의 --no-eff-email --이메일 이메일 주소 --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME
명령 분석 :
sudo certbot
~을 실행하다certbot
수퍼 유저 권한이있는 명령.certonly
인증서 검색을 요청하지만 설치하지는 않습니다.--manual
Certbot을 대화식으로 실행하도록 지정합니다.--server https://acme.ssl.com/sslcom-dv-ecc
SSL.com의 ACME 서버를 지정합니다.--config-dir /etc/ssl-com
(선택 사항) 구성 디렉토리를 설정합니다.--logs-dir /var/log/ssl-com
(선택 사항) 로그 용 디렉토리를 설정합니다.--agree-tos
(선택 사항) ACME 가입자 계약에 동의합니다. 대화식으로 동의하려면 이것을 생략 할 수 있습니다.--no-eff-email
(선택 사항)은 EFF와 이메일 주소를 공유하지 않기를 원함을 나타냅니다. 이것을 생략하면 이메일 주소를 공유 할 것인지 묻는 메시지가 표시됩니다.--email EMAIL-ADDRESS
등록 이메일 주소를 제공합니다. 쉼표로 구분하여 여러 주소를 지정할 수 있습니다.--eab-hmac-key HMAC-KEY
HMAC 키를 지정합니다.--eab-kid ACCOUNT-KEY
계정 키를 지정합니다.-d DOMAIN.NAME
인증서가 다룰 도메인 이름을 지정합니다. 사용할 수 있습니다-d DOMAIN.NAME
명령에서 여러 번 옵션을 사용하여 인증서에 도메인 이름을 추가하십시오. Certbot은 요청 된 각 도메인 이름에 대해 챌린지 파일을 생성하도록 요구합니다. 섹션을 참조하십시오 인증서 유형 및 청구 아래에서 도메인 이름의 다양한 조합이 SSL.com 인증서 유형 및 해당 가격.
- 변경
--server
명령의 값https://acme.ssl.com/sslcom-dv-rsa
. - 추가
--key-type rsa
명령에.
certbot
명령을 실행하면 ACME 계정 정보가 컴퓨터의 구성 디렉토리 (/etc/ssl-com
위에 표시된 명령에서. 향후 certbot 실행시 --eab-hmac-key
와 --eab-kid
certbot이 로컬에 저장된 계정 정보를 위해 무시하기 때문입니다.
컴퓨터에 대한 ACME 인증서 주문을 다른 SSL.com 계정과 연결해야하는 경우 다음 명령을 사용하여 컴퓨터에서이 계정 정보를 제거해야합니다. sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(또는 선택 사항을 생략 한 경우 --config-dir
선택권, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
위의 명령을 실행하면 유효성 검사 파일을 만드는 지침을 받아야합니다.
---------------------------------------cr1rsRTImVz_s7HHk7biTQ 데이터 만 포함하는 파일을 만듭니다. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI 다음 URL에서 웹 서버에서 사용할 수 있도록합니다. http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ--------------------------- ---------------------계속하려면 Enter 키를 누릅니다.
파일을 생성하고 포트를 통해 HTTP를 통해 액세스 할 수있는 웹 서버의 위치에 저장합니다. 80
표시된 URL에서 Enter
.
-
) 캐릭터. 이 경우 파일을 만들 때 쉘이 대시를 해석하지 못하도록 디렉토리를 지정해야 할 수 있습니다 (예 : vim ./-r1rsRTImVz_s7HHk7biTQ
).모든 정보가 정확하면 인증서 체인과 개인 키의 위치를 보여주는 확인 메시지를 받아야합니다.
중요 사항 :-축하합니다! 인증서 및 체인은 다음 위치에 저장되었습니다. /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem 키 파일은 다음 위치에 저장되었습니다. /etc/ssl-com/live/DOMAIN.NAME/privkey.pem 인증서는 2021-10-05에 만료됩니다. 나중에이 인증서의 새 버전 또는 조정 된 버전을 얻으려면 certbot을 다시 실행하면됩니다. * 모든 * 인증서를 비 대화식으로 갱신하려면 "certbot renew"를 실행합니다.
이제 새 인증서 및 개인 키에 액세스하도록 웹 서버를 구성 할 수 있습니다.
DNS-01 챌린지 방법
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 DNS-01 챌린지 방법은 HTTP-01보다 사용하기 까다 롭지 만 여러 웹 서버에서 사용하는 것이 더 편리 할 수 있습니다. 이 방법에서 Certbot은 인증서가 보호 할 도메인 이름 아래에 DNS TXT 레코드를 만드는 데 사용하는 토큰을 제공합니다.
요구 사항: DNS-01 방법을 사용하려면 웹 사이트의 도메인 이름에 대한 DNS 레코드를 생성 할 수있는 권한이 있어야합니다.
다음 명령은 DNS-01 챌린지 방법을 통해 DOMAIN.NAME에 대한 인증서를 요청합니다.
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME
-d DOMAIN.NAME
명령에서 여러 번 옵션을 사용하여 인증서에 도메인 이름을 추가하십시오. Certbot은 요청 된 각 도메인 이름에 대해 별도의 DNS TXT 레코드를 생성하도록 요구합니다. 를 누르기 전에 각 TXT 레코드가 전파 될 때까지 기다릴 필요가 없습니다. Enter
최종 도전에 도달 할 때까지. 섹션을 참조하십시오 인증서 유형 및 청구 아래에서 도메인 이름의 다양한 조합이 SSL.com 인증서 유형 및 해당 가격. certbot
명령을 실행하면 ACME 계정 정보가 컴퓨터의 구성 디렉토리 (/etc/ssl-com
위에 표시된 명령에서. 향후 certbot 실행시 --eab-hmac-key
와 --eab-kid
certbot이 로컬에 저장된 계정 정보를 위해 무시하기 때문입니다.
컴퓨터에 대한 ACME 인증서 주문을 다른 SSL.com 계정과 연결해야하는 경우 다음 명령을 사용하여 컴퓨터에서이 계정 정보를 제거해야합니다. sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(또는 선택 사항을 생략 한 경우 --config-dir
선택권, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
이 명령은 HTTP-01 섹션의 명령과 동일하지만 --preferred-challenges dns
선택권. 명령을 실행하면 DNS 레코드 생성에 대한 지침을 받게됩니다.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
DNS TXT 레코드를 만들고 전파 될 때까지 기다립니다. (whatsmydns.net DNS 전파를 확인하는 편리한 도구입니다.) 레코드 이름의 시작 부분에있는 밑줄 문자 (_)는 필수. 기록이 전 세계적으로 전파되면 Enter
.
*.example.com
) 기본 도메인 이름도 보호하려면 별도로 요청해야합니다 (예 : -d *.example.com -d example.com
). 이러한 경우에는 두 이름이 같은 TXT 레코드 (_acme-challenge.example.com
). 모든 정보가 정확하면 인증서 체인과 개인 키의 위치를 보여주는 확인 메시지를 받아야합니다.
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"
이제 새 인증서 및 개인 키에 액세스하도록 웹 서버를 구성 할 수 있습니다.
인증서 갱신 (수동)
수동으로 발급 된 인증서 (이 가이드에 설명 된대로)의 경우 인증서를 요청하는 데 사용되는 명령을 반복하여 인증서를 갱신 할 수 있습니다. Certbot은 renew
하위 명령을 사용하여 요청한 인증서와 함께 사용하려고하면 오류가 발생합니다. --manual
옵션 :
sudo certbot renew --force-renewal 디버그 로그를 /var/log/ssl-com/letsencrypt.log에 저장------------------------- --------------처리 중 /etc/ssl-com/renewal/DOMAIN.NAME----------------------- -----------------적절한 플러그인을 선택할 수 없음 : 수동 플러그인이 작동하지 않습니다. 기존 구성에 문제가있을 수 있습니다. 오류 : PluginError ( '비대화 형 수동 플러그인 사용시 --manual-auth-hook과 함께 인증 스크립트를 제공해야합니다.',) / etc / ssl-com /에서 인증서 (DOMAIN.NAME) 갱신 시도 중 renewal / DOMAIN.NAME.conf에서 예기치 않은 오류가 발생했습니다. 수동 플러그인이 작동하지 않습니다. 기존 구성에 문제가있을 수 있습니다. 오류 : PluginError ( '비대화 형 수동 플러그인 사용시 인증 스크립트에 --manual-auth-hook을 제공해야합니다.',). 건너 뛰는 중입니다. 모든 갱신 시도가 실패했습니다. 다음 인증서는 갱신 할 수 없습니다. /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (실패)---------------------- -----------------모든 갱신 시도가 실패했습니다. 다음 인증서는 갱신 할 수 없습니다. /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (실패)---------------------- -----------------1 개의 갱신 실패, 0 개의 구문 분석 실패
인증서 해지
다음을 사용하여 인증서 취소 certbot revoke
. 모두 대문자로 된 인증서 경로를 실제 값 (예 : /etc/ssl-com/live/example.com/cert.pem
). 사용자 지정을 지정하지 않은 경우 --config-dir
와 --logs-dir
원본 인증서를 요청할 때이 옵션을 생략하십시오.
sudo certbot revoke --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com
해지 된 인증서도 삭제할 것인지 묻는 메시지가 표시됩니다.
---------------------------------------인증서를 삭제 하시겠습니까? 이전 및 이후 버전의 인증서와 함께 방금 취소 했습니까? ---------------------------------------(예) es (권장) / (N ) o : Y---------------------------------------인증서 관련 모든 파일 삭제 도메인 이름. --------------------------------------
Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.
오류를 해결하려면 다음을 시도하십시오.
a) 해지 요청에 서명할 인증서의 개인 키 경로를 지정합니다.
예:
--key-path /PATH/TO/privkey.pem
b) 사용자 지정 디렉터리를 사용한 경우 인증서를 발급할 때 사용한 디렉터리를 지정합니다.
--config-dir
인증서 유형 및 청구
모든 SSL /TLS SSL.com에서 ACME를 통해 발급 한 인증서는 XNUMX 년 인증서입니다. 수신 (및 청구)되는 SSL.com 인증서 유형은 요청 된 도메인 이름의 수와 유형에 따라 다릅니다.
- 기본 SSL: 하나의 도메인 이름 또는 도메인 이름과 함께
www
하위 도메인 (예 :example.com
와www.example.com
).- 기본 도메인 이름과
www
, Certbot 명령에 둘 다 포함해야합니다 (예 :-d example.com -d www.example.com
).
- 기본 도메인 이름과
- 와일드 카드 SSL: 하나의 와일드 카드 도메인 이름 또는 하나의 와일드 카드 도메인 이름과 기본 도메인 이름 (예 :
*.example.com
와example.com
). - 프리미엄 SSL: 기본 도메인 이름 및 XNUMX ~ XNUMX 개의 비 와일드 카드 하위 도메인. (예외 : 위에서 언급했듯이 기본 도메인과
www
하위 도메인 [다른 도메인 없음]은 기본 SSL로 청구됩니다.) 예 :
example.com
와info.example.com
example.com
,www.example.com
및info.example.com
example.com
,www.example.com
,info.example.com
및store.example.com
- 다중 도메인 UCC / SAN SSL: 기타 도메인 이름 조합. 예를 들면 :
- 기본 도메인 이름 및 XNUMX 개 이상의 하위 도메인
- 둘 이상의 와일드 카드 및 / 또는 비 하위 도메인 이름
SSL.com의 참가자 리셀러 및 대량 구매 프로그램 가격 책정 계층과 관련된 할인 된 요율로 청구됩니다.
자세한 내용은
ACME 프로토콜 (Certbot 유무에 관계없이)으로 할 수있는 일이 훨씬 더 많습니다. 자세한 내용은 다음 리소스를 참조하십시오.
- ACME 프로토콜이란?
- ACME SSL /TLS Apache 및 Nginx를 사용한 자동화
- SSL /TLS ACME를 통한 IoT 자동화
- Certbot 문서
- Certbot 매뉴얼 페이지
SSL.com 계정과 관련하여 도움이 더 필요하십니까?
- 귀하의 SSL.com 계정 – 제출 CSR
- 사전 테스트에 실패 했습니까?
- SSL.com 계정 – 유효성 검사
- SSL.com 계정 – 주문
- SSL.com의 SWS API – 소개
- SSL.com 계정 – 도메인
- 문서 서명 및 EV 코드 서명을 위해 지원되는 Cloud HSM