Criar e acessar um certificado X509 - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar e acessar um certificado X509

Você pode criar um certificado X509 para seu aplicativo com OpenSSL. OpenSSL é uma biblioteca de código aberto padrão que oferece suporte a uma grande variedade de funções de criptografia, incluindo a criação e a assinatura de certificados x509. Para obter mais informações sobre OpenSSL, visite www.openssl.org.

nota

Só será necessário criar um certificado localmente se você quiser usar HTTPS em um ambiente de instância única ou criptografar novamente no back-end com um certificado autoassinado. Se você possui um nome de domínio, pode criar um certificado AWS e usá-lo com um ambiente de balanceamento de carga gratuitamente usando AWS Certificate Manager (ACM). Consulte Solicite um certificado noAWS Certificate Manager Guia do usuário para obter instruções.

Execute openssl version na linha de comando para verificar se o OpenSSL já está instalado. Caso contrário, você pode criar e instalar o código-fonte usando as instruções no GitHub repositório público ou usar seu gerenciador de pacotes favorito. O OpenSSL também está instalado nas imagens Linux do Elastic Beanstalk, então uma alternativa rápida é conectar-se a uma instância em EC2 um ambiente em execução usando o comando da EB CLI: eb ssh

~/eb$ eb ssh [ec2-user@ip-255-55-55-255 ~]$ openssl version OpenSSL 1.0.1k-fips 8 Jan 2015

Você precisa criar uma chave privada RSA para criar sua solicitação de assinatura de certificado (CSR). Para criar sua chave privada, use o comando openssl genrsa:

[ec2-user@ip-255-55-55-255 ~]$ openssl genrsa 2048 > privatekey.pem Generating RSA private key, 2048 bit long modulus .................................................................................................................................+++ ...............+++ e is 65537 (0x10001)
privatekey.pem

O nome do arquivo onde deseja salvar a chave privada. Em geral, o comando openssl genrsa imprime o conteúdo da chave privada na tela, mas esse comando envia a saída para um arquivo. Escolha qualquer nome de arquivo e armazene o arquivo em um local seguro, de modo que possa recuperá-lo mais tarde. Se você perder a sua chave privada, não poderá usar seu certificado.

Um CSR é um arquivo que você envia a uma autoridade de certificação (CA) para solicitar um certificado de servidor digital. Para criar um CSR, use o comando openssl req:

$ openssl req -new -key privatekey.pem -out csr.pem 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.

Insira as informações solicitadas e pressione Enter. A tabela a seguir descreve e mostra exemplos para cada campo.

Nome Descrição Exemplo
Nome do país A abreviação ISO de duas letras para seu país. US = Estados Unidos
Estado O nome do estado ou província onde sua organização está localizada. Você não pode abreviar esse nome. Washington
Nome da localidade O nome da cidade onde sua organização está localizada. Seattle
Nome da organização A razão social completa da sua organização. Não abrevie o nome de sua organização. Corporação de exemplo
Unidade Organizacional Opcional, para fornecer informações adicionais sobre sua organização. Marketing
Nome comum O nome de domínio totalmente qualificado para o seu site. Isso deve corresponder ao nome de domínio que os usuários veem quando visitam seu site; caso contrário, serão mostrados erros de certificado. www.exemplo.com
Endereço de e-mail O endereço de e-mail do administrador do site. someone@example.com

Você pode enviar a solicitação de assinatura para terceiros assinarem ou assine-a você mesmo para desenvolvimento e teste. Certificados autoassinados também podem ser usados para HTTPS de back-end entre um balanceador de carga e instâncias. EC2

Para assinar o certificado, use o comando openssl x509. O exemplo a seguir usa a chave privada da etapa anterior (privatekey.pem) e a solicitação de assinatura (csr.pem) para criar um certificado público chamado public.crt válido por 365 dias.

$ openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out public.crt Signature ok subject=/C=us/ST=washington/L=seattle/O=example corporation/OU=marketing/CN=www.example.com/emailAddress=someone@example.com Getting Private key

Guarde a chave privada e o certificado público para uso posterior. Você pode descartar a solicitação de assinatura. Sempre armazene a chave privada em um local seguro e evite adicioná-la ao seu código-fonte.

Para usar o certificado com a plataforma Windows Server, converta-o em um formato PFX. Use o comando a seguir para criar um certificado PFX da chave privada e dos arquivos públicos do certificado:

$ openssl pkcs12 -export -out example.com.pfx -inkey privatekey.pem -in public.crt Enter Export Password: password Verifying - Enter Export Password: password

Agora que você tem um certificado, pode fazer upload para o IAM para uso com um load balancer ou configurar as instâncias em seu ambiente para encerrar o HTTPS.