Os clientes SSL.com agora podem usar o popular protocolo ACME para solicitar e revogar SSL /TLS certificados.
ACME (Automated Certificate Management Environment) é um protocolo padrão para validação de domínio automatizado e instalação de certificados X.509, documentado em RFC 8555 da IETF. Como um padrão bem documentado com muitos aplicativos de código aberto implementações de clientes, ACME oferece uma maneira fácil de provisionar sites ou Dispositivos IoT como modems e roteadores com certificados digitais de confiança pública ou privada e manter esses certificados atualizados ao longo do tempo.
Este guia mostrará como:
- Localize e recupere as credenciais de que você precisará para solicitar certificados com ACME.
- Use o Certbot para solicitar SSL / manualmenteTLS certificados através do HTTP-01 e a DNS-01 métodos de desafio.
- Revogar certificados com Certbot.
Você pode usar muitos outros clientes ACME, incluindo Gerenciador de certificados do Kubernetes, com o serviço ACME de SSL.com.
acme4j o cliente agora pode usar os serviços SSL.com ACME neste repositório: https://github.com/SSLcom/acme4j
Consulte a documentação do seu fornecedor de software para obter instruções para outros clientes ACME não Certbot.
Instale o Certbot
Este guia assume que você está trabalhando em um computador que tem certbot instalado. Certbot é uma ferramenta gratuita e de código aberto, desenvolvida pela Electronic Frontier Foundation (EFF), que você pode usar para solicitar ou revogar SSL /TLS certificados de SSL.com por meio do protocolo ACME. Certbot pode ser executado em uma variedade de plataformas, incluindo Linux, macOS e Windows.
- Se você tem snapd instalado, você pode usar este comando para instalação:
sudo snap install - certbot clássico
- If
/snap/bin/
não está em seuPATH
, você também precisará adicioná-lo ou executar um comando como este:sudo ln -s / snap / bin / certbot / usr / bin / certbot
Se você precisar de mais informações sobre como instalar o Certbot em seu sistema, consulte o EFF's documentação.
Recuperar credenciais ACME
Antes de usar ACME para solicitar um certificado, você precisará recuperar seu Chave da conta e a Chave HMAC da sua conta SSL.com.
- Faça login em sua conta SSL.com. Se você já estiver logado, vá para o Painel aba.
- Clique credenciais da API, localizado sob desenvolvedores e integração.
- Você precisará do seu Chave de conta / ACME e a Chave HMAC para solicitar certificados. Clique no ícone da área de transferência () ao lado de cada tecla para copiar o valor para a área de transferência.
- Você também pode copiar um comando Certbot pré-preenchido com seu endereço de e-mail, conta / chave ACME e chave HMAC clicando no ícone da área de transferência () próximo a comando cli, abaixo Certbot ACME. Este comando pré-formatado solicitará um certificado por meio do método de desafio HTTP-01.
Solicitar SSL / manualmenteTLS Certificado
Agora que você recuperou suas credenciais, pode solicitar um certificado por meio do certbot
comando. O Certbot oferece suporte a dois métodos de validação de domínio (DV): HTTP-01 e DNS-01.
Método de desafio HTTP-01
HTTP-01 é o método de desafio mais comumente usado com ACME e Certbot. Quando você solicita um certificado dessa maneira, o Certbot gera um token que pode ser usado para criar um arquivo acessível publicamente em seu site. O servidor ACME de SSL.com verificará o arquivo via HTTP e emitirá um certificado assinado se estiver correto.
Requisitos: O método HTTP-01 requer que você tenha acesso ao seu servidor web e que o site esteja disponível na porta 80
via HTTP. Você também vai precisar sudo
privilégios no computador.
Para recuperar manualmente um certificado, use o seguinte comando. Substitua os valores em MAIÚSCULAS pelos seus valores reais. (Conforme observado acima, você também pode copiar e colar um comando certbot que faz isso de sua conta do portal):
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- concordo --no-eff-email --email ENDEREÇO DE E-MAIL --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME
Quebrando o comando:
sudo certbot
executa ocertbot
comando com privilégios de superusuário.certonly
solicita a recuperação de um certificado, mas não o instala.--manual
especifica para executar o Certbot interativamente.--server https://acme.ssl.com/sslcom-dv-ecc
especifica o servidor ACME de SSL.com.--config-dir /etc/ssl-com
(opcional) define o diretório de configuração.--logs-dir /var/log/ssl-com
(opcional) define o diretório para logs.--agree-tos
(opcional) concorda com o contrato de assinante ACME. Você pode omitir isso se quiser concordar interativamente.--no-eff-email
(opcional) indica que você não deseja compartilhar seu endereço de e-mail com a EFF. Se você omitir isso, terá a opção de compartilhar seu endereço de e-mail.--email EMAIL-ADDRESS
fornece um endereço de e-mail de registro. Você pode especificar vários endereços, separados por vírgulas.--eab-hmac-key HMAC-KEY
especifica sua chave HMAC.--eab-kid ACCOUNT-KEY
especifica a chave da sua conta.-d DOMAIN.NAME
especifica o nome de domínio que o certificado cobrirá. Observe que você pode usar o-d DOMAIN.NAME
opção várias vezes em seu comando para adicionar nomes de domínio ao seu certificado. O Certbot exigirá que você crie um arquivo de desafio para cada nome de domínio solicitado. Por favor, veja a seção sobre tipos de certificado e faturamento abaixo para ver como diferentes combinações de nomes de domínio mapeiam para Tipos de certificado SSL.com e seus preços correspondentes.
- alterar o
--server
valor no comando parahttps://acme.ssl.com/sslcom-dv-rsa
. - Adicionar
--key-type rsa
ao comando.
certbot
comando, as informações da conta ACME serão armazenadas no seu computador no diretório de configuração (/etc/ssl-com
no comando mostrado acima. Em execuções futuras do certbot, você pode omitir o --eab-hmac-key
e a --eab-kid
opções porque certbot irá ignorá-los em favor das informações de conta armazenadas localmente.
Se você precisar associar seus pedidos de certificado ACME para o computador a uma conta SSL.com diferente, você deve remover essas informações de conta de seu computador com o comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(ou, se você omitiu o opcional --config-dir
opção, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Ao executar o comando acima, você receberá instruções para criar um arquivo de validação:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Crie um arquivo contendo apenas estes dados: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI E disponibilize-o em seu servidor web neste URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pressione Enter para continuar
Crie o arquivo e salve-o em um local em seu servidor da web onde possa ser acessado via HTTP pela porta 80
no URL mostrado e pressione Enter
.
-
) personagem. Neste caso, você pode precisar especificar o diretório ao criar seu arquivo para evitar que o shell interprete o traço (por exemplo vim ./-r1rsRTImVz_s7HHk7biTQ
).Se todas as suas informações estiverem corretas, você deverá receber uma mensagem de confirmação mostrando os locais de sua cadeia de certificação e chave privada:
NOTAS IMPORTANTES: - Parabéns! Seu certificado e cadeia foram salvos em: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Seu arquivo de chave foi salvo em: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Seu cert irá expirar em 2021-10-05. Para obter uma versão nova ou ajustada deste certificado no futuro, basta executar o certbot novamente. Para renovar de forma não interativa * todos * os seus certificados, execute "renovbot certbot"
Agora você pode configurar seu servidor web para acessar o novo certificado e chave privada.
Método de desafio DNS-01
O Plano de Ação Global para Saúde Mental XNUMX-XNUMX da DNS-01 O método de desafio é mais complicado de usar do que HTTP-01, mas pode ser mais conveniente para uso em vários servidores da web. Nesse método, o Certbot fornecerá um token que você usará para criar um registro TXT do DNS com o nome de domínio que o certificado protegerá.
Requisitos: O método DNS-01 requer que você tenha a capacidade de criar registros DNS para o nome de domínio do seu site.
O seguinte comando solicitará um certificado para DOMAIN.NAME por meio do método de desafio DNS-01:
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
opção várias vezes em seu comando para adicionar nomes de domínio ao seu certificado. O Certbot exigirá que você crie um registro TXT DNS separado para cada nome de domínio solicitado. Você não precisa esperar a propagação de cada registro TXT antes de pressionar Enter
até chegar ao desafio final. Por favor, veja a seção sobre tipos de certificado e faturamento abaixo para ver como diferentes combinações de nomes de domínio mapeiam para Tipos de certificado SSL.com e seus preços correspondentes. certbot
comando, as informações da conta ACME serão armazenadas no seu computador no diretório de configuração (/etc/ssl-com
no comando mostrado acima. Em execuções futuras do certbot, você pode omitir o --eab-hmac-key
e a --eab-kid
opções porque certbot irá ignorá-los em favor das informações de conta armazenadas localmente.
Se você precisar associar seus pedidos de certificado ACME para o computador a uma conta SSL.com diferente, você deve remover essas informações de conta de seu computador com o comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(ou, se você omitiu o opcional --config-dir
opção, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Este comando é igual ao da seção HTTP-01, mas adiciona o --preferred-challenges dns
opção. Ao executar o comando, você receberá instruções para criar um registro 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
Crie o registro TXT do DNS e aguarde sua propagação. (whatsmydns.net é uma ferramenta conveniente para verificar a propagação de DNS). Observe que o caractere de sublinhado (_) no início do nome do registro é requeridos. Quando o registro for propagado em todo o mundo, pressione Enter
.
*.example.com
) você precisará solicitar o nome de domínio básico separadamente se desejar protegê-lo também (por exemplo -d *.example.com -d example.com
) Nesse caso, você precisará criar dois Registros TXT com o mesmo nome (_acme-challenge.example.com
). Se todas as suas informações estiverem corretas, você deverá receber uma mensagem de confirmação mostrando os locais de sua cadeia de certificação e chave privada:
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"
Agora você pode configurar seu servidor web para acessar o novo certificado e chave privada.
Renovação de certificado (manual)
Para certificados emitidos manualmente (conforme descrito neste guia), a renovação do certificado é realizada simplesmente repetindo o comando usado para solicitar o certificado. Certbot fornece um renew
subcomando, mas produzirá um erro ao tentar usá-lo com certificados solicitados com o --manual
opção:
sudo certbot renewal --force-renewal Salvando o log de depuração em /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processando /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Não foi possível escolher o plugin apropriado: O plugin manual não está funcionando; pode haver problemas com a configuração existente. O erro foi: PluginError ('Um script de autenticação deve ser fornecido com --manual-auth-hook ao usar o plug-in manual de forma não interativa.',) Tentativa de renovar o certificado (DOMAIN.NAME) de / etc / ssl-com / a renovação / DOMAIN.NAME.conf produziu um erro inesperado: O plugin manual não está funcionando; pode haver problemas com a configuração existente. O erro foi: PluginError ('Um script de autenticação deve ser fornecido com --manual-auth-hook ao usar o plug-in manual de forma não interativa.',). Pulando. Todas as tentativas de renovação falharam. Os certificados a seguir não puderam ser renovados: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (falha) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Todas as tentativas de renovação falharam. Os certificados a seguir não puderam ser renovados: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (falha) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 nova falha (s), 0 falha de análise
Revogação de certificado
Revogar um certificado com certbot revoke
. Substitua o caminho do certificado em MAIÚSCULAS por seus valores reais (por exemplo, /etc/ssl-com/live/example.com/cert.pem
) Se você não especificou um costume --config-dir
e a --logs-dir
ao solicitar o certificado original, omita essas opções.
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
Você será questionado se também deseja excluir o certificado revogado:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gostaria de excluir o (s) certificado (s) você acabou de revogar, junto com todas as versões anteriores e posteriores do cert? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (S) es (recomendado) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Excluiu todos os arquivos relativos ao certificado NOME DO DOMÍNIO. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.
Tente o seguinte para resolver o erro:
a) Especifique o caminho da chave privada do certificado para assinar a solicitação de revogação.
Exemplo:
--key-path /PATH/TO/privkey.pem
b) Se você usou um diretório personalizado, especifique o diretório usado quando emitiu o certificado:
--config-dir
Tipos de certificado e faturamento
Todos SSL /TLS certificados emitidos via ACME por SSL.com são certificados de um ano. O tipo de certificado SSL.com que você receberá (e será cobrado) depende do número e tipo de nomes de domínio solicitados:
- SSL básico: Um nome de domínio ou nome de domínio mais
www
subdomínio (por exemploexample.com
e awww.example.com
).- Observe que se você deseja proteger o nome de domínio base e
www
, você deve incluir ambos em seu comando Certbot (por exemplo-d example.com -d www.example.com
).
- Observe que se você deseja proteger o nome de domínio base e
- Wildcard SSL: Um nome de domínio curinga ou um nome de domínio curinga mais o nome de domínio básico (por exemplo
*.example.com
e aexample.com
). - SSL Premium: Nome de domínio básico e um a três subdomínios não curinga. (Exceção: conforme observado acima, domínio base mais
www
subdomínio [e nenhum outro] será cobrado como SSL básico.) Por exemplo:
example.com
e ainfo.example.com
example.com
,www.example.com
einfo.example.com
example.com
,www.example.com
,info.example.com
estore.example.com
- Multi-Domain UCC / SAN SSL: Qualquer outra combinação de nomes de domínio. Por exemplo:
- Nome de domínio básico e mais de três subdomínios
- Dois ou mais nomes de domínio curinga e / ou não subdomínio
Participantes em SSL.com's Programa de revendedor e compra por volume serão cobrados de acordo com a taxa de desconto associada ao seu nível de preços.
Para maiores informações
Há muito mais que você pode fazer com o protocolo ACME (com ou sem Certbot). Consulte os seguintes recursos para obter muito mais informações:
- O que é o protocolo ACME?
- ACME SSL /TLS Automação com Apache e Nginx
- SSL /TLS Automação para a IoT com ACME
- Documentação do Certbot
- Página do manual do Certbot
Precisa de mais ajuda com sua conta SSL.com?
- Sua conta SSL.com - Enviando um CSR
- Falha no pré-teste ?!
- Sua conta SSL.com - validações
- Sua conta SSL.com - Pedidos
- API SWS de SSL.com - Introdução
- Sua conta SSL.com - Domínios
- Cloud HSMs com suporte para assinatura de documentos e assinatura de código EV