Amazon API Gateway ha restituito un errore per la mia richiesta API simile al seguente: “Execution failed due to configuration error: General SSLEngine problem”
Risoluzione
Le richieste di API Gateway eseguono un handshake SSL sul backend. Gli handshake SSL di API Gateway corretti devono includere i seguenti requisiti:
Un’autorità di certificazione (CA) supportata
La CA deve essere supportata da API Gateway per HTTP, proxy HTTP e integrazioni private. Per controllare l'impronta digitale della CA, esegui il seguente comando OpenSSL per il tuo sistema operativo:
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]
Un certificato ACM valido non scaduto
Per verificare la data di scadenza del certificato, esegui il seguente comando OpenSSL:
openssl x509 -in certificate.crt -text -noout
Nell'output, controlla il timestamp di validità:
Validity
Not Before: Apr 29 12:49:02 2020 GMT
Not After : Apr 29 12:49:02 2021 GMT
In questo output di esempio, il certificato è valido il 29 aprile 2020 e scade dopo il 29 aprile 2021.
Un certificato CA valido
Controlla la configurazione del certificato CA eseguendo il seguente comando OpenSSL:
openssl s_client -connect example.com:443 -showcerts
Conferma che:
- Il soggetto dell'intermediario e del certificato corrisponde all'emittente del certificato dell’entità.
- Il soggetto del certificato root corrisponde agli emittenti del certificato intermedio.
- Il soggetto e l'emittente sono gli stessi nel certificato root.
Un certificato che non supera i 2.048 bit
Controlla la dimensione del certificato eseguendo il seguente comando OpenSSL:
openssl x509 -in badssl-com.pem -text -noout | grep -E '(Public-Key):'
Nota: la dimensione del certificato non può superare i 2.048 bit.
Se il tuo certificato non soddisfa nessuno di questi requisiti, aggiorna prima la tua CA privata. Quindi, riemetti un nuovo certificato utilizzando AWS Certificate Manager (ACM).
Informazioni correlate
Integrazioni private per le API REST in API Gateway