Ir para o conteúdo

Como fazer o upload e importar um certificado SSL para o IAM?

4 minuto de leitura
0

Quero fazer o upload e importar um certificado SSL para o AWS Identity and Access Management (AWS IAM).

Breve descrição

É uma prática recomendada fazer o upload dos certificados SSL para o AWS Certificate Manager (ACM). Se você estiver usando algoritmos e tamanhos de chave de certificados que atualmente não são compatíveis com o ACM ou com os recursos associados da AWS, também pode fazer upload de um certificado SSL para o IAM usando a AWS Command Line Interface (AWS CLI).

Antes de importar um certificado SSL para o IAM:

  • O certificado deve ser válido no momento do upload. Não é possível fazer o upload de um certificado antes do início do seu período de validade ou depois que ele expirar.
  • O certificado, a chave privada e a cadeia de certificados devem ser codificados por PEM. Para obter mais informações, consulte a seção Exemplo de cadeia de certificado codificado em PEM em Solucionar problemas com certificados de servidor.

Depois de confirmar que seu certificado atende aos critérios, verifique se a cadeia de certificados está na ordem correta e, em seguida, faça o upload do certificado.

Resolução

Confirme se a cadeia de certificados está na ordem correta

Observação: se você receber mensagens de erro ao executar comandos da AWS CLI, verifique se está usando a versão mais recente da AWS CLI.

A cadeia de certificados deve começar com o certificado gerado pela sua autoridade de certificação (CA) e terminar com o certificado raiz da sua CA.

Observação: se a cadeia de certificados não estiver na ordem correta, pode receber a seguinte mensagem de erro: "An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order. The index within the chain of the non-valid certificate is: -1"

A cadeia de certificados codificada por PEM deve começar com "-----BEGIN CERTIFICATE-----" e terminar com "-----END CERTIFICATE-----", semelhante ao seguinte:

-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Base64-encoded Root certificate
-----END CERTIFICATE-----

Observação: certifique-se de que o certificado não tenha espaços à esquerda ou à direita e não contenha um prefixo ou sufixo além dos blocos BEGIN e END.

A chave codificada por PEM deve usar o seguinte formato para evitar a mensagem de erro "MalformedCertificate: Unable to parse private key":

-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----

Carregue o certificado

Faça upload do certificado executando o comando upload-server-certificate da AWS CLI semelhante ao seguinte:

$ aws iam upload-server-certificate --server-certificate-name YourCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem

Observação:

  • substitua os nomes dos arquivos e YourCertificate pelos nomes dos arquivos e certificado carregados.
  • Especifique o prefixo "file://" nos parâmetros certificate-body, certificate-chain and private-key na solicitação da API. Caso contrário, a solicitação apresentará a mensagem de erro "MalformedCertificate: Unknown".

Depois que o certificado é carregado, o comando upload-server-certificate da AWS retorna metadados sobre ele, incluindo o nome do recurso da Amazon (ARN), o nome amigável, o identificador (ID) e a data de validade do certificado.

Para visualizar o certificado carregado, execute o comando list-server-certificates da AWS CLI:

aws iam list-server-certificates

Observação: se você fizer upload de um certificado de servidor para uso com o Amazon CloudFront, deve especificar um caminho usando --path. O caminho deve começar com /cloudfront e incluir uma barra ao final, por exemplo, /cloudfront/test/. Para obter mais informações, consulte How can I troubleshoot issues with using a custom SSL certificate for my CloudFront distribution? (Como posso solucionar problemas com o uso de um certificado SSL personalizado para minha distribuição do CloudFront?)

Para excluir o certificado, execute o comando delete-server-certificate da AWS CLI semelhante ao seguinte:

$ aws iam delete-server-certificate --server-certificate-name YourCertificate

Informações relacionadas

Serviços integrados ao ACM

Certificate and key format for importing (Formato de certificado e chave para importação)