Solicitei um certificado privado do AWS Certificate Manager (ACM) e recebi um erro de “Falha”. Ou o status do certificado é “Falha”.
Breve descrição
Os certificados privados que você solicita no console do ACM são válidos por 13 meses. O ACM não pode emitir certificados privados se o período de validade da AWS Private Certificate Authority for inferior a 13 meses. Se você usou o console do ACM para solicitar um certificado privado e o período de validade da CA for inferior a 13 meses, a solicitação falhará.
Para resolver esse erro, solicite um certificado privado com um período de validade mais curto usando a API IssueCertificate. Em seguida, importe o certificado para o ACM para que você possa usá-lo com serviços integrados.
Resolução
Use a API IssueCertificate para emitir um novo certificado privado com um período de validade mais curto
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Use o comando issue-certificate para emitir um certificado privado com uma data de validade menor que o período de validade da CA:
aws acm-pca issue-certificate --certificate-authority-arn arn:aws:acm-pca:us-west-2:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012 --csr fileb://cert_1.csr --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" --idempotency-token 1234
Observação: você deve gerar sua própria solicitação de assinatura de certificado (CSR) e chave privada para o certificado privado.
Obtenha o corpo e a cadeia do certificado privado do ACM PCA e, em seguida, importe-os para o ACM
-
Use o comando get-certificate para obter o corpo e a cadeia do certificado privado:
aws acm-pca get-certificate \--certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012 \
--certificate-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012/\
certificate/6707447683a9b7f4055627ffd55cebcc \
--output text
Exemplo de saída com o certificado de formato PEM codificado em base64 e a cadeia de certificados:
-----BEGIN CERTIFICATE-----...base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
-
Execute os seguintes comandos para salvar o corpo do certificado e a cadeia de certificados como arquivos .pem:
Cadeia de certificados:
aws acm-pca get-certificate --certificate-authority-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012 --certificate-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/66506378eb4e296c59b41bbb7b8dd068 --output text --query CertificateChain > certchain.pem
Corpo do certificado:
aws acm-pca get-certificate --certificate-authority-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012 --certificate-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/66506378eb4e296c59b41bbb7b8dd068 --output text --query Certificate > certfile.pem
-
Para usar o certificado privado com serviços integrados, execute o comando import-certificate da AWS CLI para importar o certificado:
Observação: substitua certfile.pem, privately.key e certchain.pem pelos nomes dos arquivos.
aws acm import-certificate --certificate fileb://certfile.pem --private-key fileb://privatekey.key --certificate-chain fileb://certchain.pem