Eu recentemente passei algumas horas tentando descobrir como adicionar um certificado autoassinado ao AWS ACM. Eu encontrei alguns tutoriais na internet, mas nenhum deles funcionou para mim do início ao fim. Então eu decidi escrever este post para ajudar outras pessoas que estão com o mesmo problema.
Este tutorial irá mostrar como criar um certificado autoassinado usando o OpenSSL e então adicioná-lo ao AWS ACM usando o AWS CLI v2.
Pré-requisitos
Para seguir este tutorial, você precisará de:
1. Crie uma chave privada
openssl genrsa -out private.key 2048
2. Gere o certificado usando a chave privada
openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -key private.key -out certificate.crt
Você será solicitado a inserir algumas informações. Você pode deixar todos os campos em branco, exceto o Common Name. Este campo deve ser o nome de domínio do seu site. Neste exemplo, eu usarei tutorial-ssl.com
.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:tutorial-ssl.com
Email Address []:
3. Importe o certificado para o AWS ACM
aws acm import-certificate --certificate fileb://certificate.crt --private-key fileb://private.key --region eu-west-1
É importante usar o prefixo fileb://
ao passar os arquivos do certificado e da chave privada para o AWS CLI. Sem este prefixo, o comando falhará com o seguinte erro:
Invalid base64: "-----BEGIN CERTIFICATE-----......"
4. Verifique o certificado
Entre no Console da AWS e verifique se o seu certificado está listado lá.
Certificado listado no Console da AWS.
Referências
- Adding a Self-Signed SSL Certificate to AWS ACM
- AWS CLI v2 - Cannot import certificate, certificate chain base64 not accepted, but valid
Conclusão
Este tutorial teve como objetivo de guiar o processo de criação de um certificado autoassinado usando o OpenSSL e importá-lo para o AWS ACM usando o AWS CLI.
Lembre-se que certificados autoassinados são mais adequados para ambientes de teste e desenvolvimento. Para ambientes de produção, é aconselhável usar certificados emitidos por uma Autoridade Certificadora (CA) confiável.
Espero que este tutorial tenha sido útil para você. Até a próxima! 👋