O Amazon API Gateway retornou um erro para minha solicitação de API semelhante ao seguinte:
"Execution failed due to configuration error: General SSLEngine problem" (Falha na execução devido a um erro de configuração: problema geral do SSLEngine)
Resolução
As solicitações de API do API Gateway executam um handshake SSL no back-end. Os handshakes SSL bem-sucedidos do API Gateway devem incluir os seguintes requisitos:
Uma CA compatível
A CA deve ser compatível com o API Gateway para HTTP, proxy HTTP e integrações privadas. Para verificar a impressão digital da CA, execute o seguinte comando OpenSSL para seu sistema operacional:
Linux
openssl x509 -in cert.pem -fingerprint -sha256 -noout
openssl x509 -in cert.pem -fingerprint -sha1 -noout
Windows
openssl x509 -noout -fingerprint -sha256 -inform pem -in [certificate-file.crt]
openssl x509 -noout -fingerprint -sha1 -inform pem -in [certificate-file.crt]
Um certificado ACM válido não expirado
Para verificar a data de expiração do certificado, execute o seguinte comando OpenSSL:
openssl x509 -in certificate.crt -text -noout
Na saída, verifique o timestamp de validade:
Validity
Not Before: Apr 29 12:49:02 2020 GMT
Not After : Apr 29 12:49:02 2021 GMT
Neste exemplo de saída, o certificado é válido a partir de 29 de abril de 2020 e expira após 29 de abril de 2021.
Um certificado CA válido
Verifique a configuração do certificado CA executando o seguinte comando OpenSSL:
openssl s_client -connect example.com:443 -showcerts
Valide que:
- O assunto do intermediário e do certificado correspondem ao emissor do certificado da entidade.
- O assunto do certificado raiz corresponde aos emissores do certificado intermediário.
- O assunto e o emissor são os mesmos no certificado raiz.
Um certificado que não excede 2048 bits
Verifique o tamanho do certificado executando o seguinte comando OpenSSL:
openssl x509 -in badssl-com.pem -text -noout | grep -E '(Public-Key):'
Observação: o tamanho do certificado não pode exceder 2048 bits.
Se o certificado não atender a nenhum desses requisitos, primeiro atualize sua CA privada. Em seguida, emita um novo certificado usando o AWS Certificate Manager (ACM).
Informações relacionadas
Set up API Gateway private integrations (Configurar integrações privadas do API Gateway)