Instale o SSL no Amazon Elastic Load Balancer com certificado GoDaddy Wildcard

9

Estou um pouco preso ao instalar um certificado SSL em um AWS Elastic Load Balancer. Eu tenho um certificado curinga do GoDaddy e preciso apontá-lo para o ELB.

Eu executei o comando (executei em um dos servidores atrás do balanceador de carga):

openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr

e então enviei o arquivo .csr para o GoDaddy. Nesse momento, eles retornaram uma pasta zip com dois arquivos: gd_bundle.crte mydomain.com.crt. O gd_bundle.crt ao vê-lo parece ter duas chaves exclusivas dentro dele (duas seqüências codificadas de base 64).

O Amazon ELB está solicitando uma chave pública e uma privada e, com base no que fiz, não sei ao certo qual é o quê. A partir deste ponto, não tenho certeza do que fazer para carregar tudo isso.

Qualquer ajuda seria muito apreciada.

Pedro
fonte
Eu encontrei a resposta sobre estouro de pilha stackoverflow.com/questions/6753619/...
Peter

Respostas:

9

A chave privada é mydomain.key que você gerou junto com o CSR.

O que o GoDaddy enviou a você é a chave pública (o arquivo de certificado mydomain.com.crt, conforme assinado pelo GoDaddy), bem como a cadeia intermediária de certificados do GoDaddy que completa a cadeia de confiança entre o seu certificado e o navegador do usuário final conhece (o arquivo gd_bundle.crt).

Eu não estou especificamente familiarizado com ELB, mas olhando esta página de documentação:

http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/US_UpdatingLoadBalancerSSL.html

Você fornecerá seu arquivo mydomain.key para a chave privada, o arquivo mydomain.com.crt para a chave pública e o arquivo gd_bundle.crt para a cadeia de certificados.

cjc
fonte
4

Adicionando Godaddy Cert ao EC2 ELB

Configuração da interface de linha de comando da AWS

As instruções de configuração são encontradas aqui: http://aws.amazon.com/cli/

Defina seus arquivos e execute estes comandos:

# define these
crtdomain="example.com"
crtchain="gd_bundle.crt"

echo "converting to pem format"
openssl rsa -in ${crtdomain}.key -out aws-${crtdomain}.key
openssl x509 -in ${crtdomain}.crt -out aws-${crtdomain}.crt -outform PEM

echo "uploading certificate ${crtdomain} to Amazon"
aws iam upload-server-certificate \
--certificate-body file://aws-${crtdomain}.crt \
--private-key file://aws-${crtdomain}.key \
--certificate-chain file://${crtchain} \
--server-certificate-name ${crtdomain}

fonte: http://brakertech.com/ec2-elb-godaddy-cert/

brakertech
fonte
Esta é a única solução que funcionou para mim. Os outros são inúteis. Obrigado.
Cerin
1

Se você abrir seus arquivos em um text editor, verá

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----


-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

a cadeia provavelmente seria gd_bundle.crt

insira a descrição da imagem aqui
Eu dei meu certificate namemesmo nome que a chave pública. mydomain.com.crt

Ele Private Keyveio da criação de uma versão em texto da chave:
sudo openssl rsa -in /etc/ssl/certs/mydomain.key -text
(este seria o caminho para o seu arquivo no servidor) /etc/ssl/certs/

O Public Keymais provável serámydomain.com.crt

E Certificate Chainprovavelmente serágd_bundle.crt

tq
fonte