Amazon API Gateway は、私の API リクエストに対して次のようなエラーを返しました。
「Execution failed due to configuration error: General SSLEngine problem」 (構成エラーにより実行に失敗しました: SSLEngineの一般的な問題)
解決方法
API Gateway の API リクエストは、バックエンドで SSL ハンドシェイクを実行します。API Gateway SSL ハンドシェイクを成功させるには、以下の要件を満たす必要があります。
サポートされている CA
CA は、HTTP、 HTTP プロキシ、およびプライベート統合のため API Gateway にサポートされている 必要があります。CA フィンガープリントを確認するには、ご使用のオペレーティングシステムで次の OpenSSL コマンドを実行します。
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]
有効期限が切れていない有効な ACM 証明書
証明書の有効期限を確認するには、次の OpenSSL コマンドを実行します。
openssl x509 -in certificate.crt -text -noout
出力で、有効期間のタイムスタンプを確認します。
Validity
Not Before: Apr 29 12:49:02 2020 GMT
Not After : Apr 29 12:49:02 2021 GMT
この出力例では、証明書は 2020 年 4 月 29 日から有効になり、2021 年 4 月 30 日に有効期限が失効します。
有効な CA 証明書
次の OpenSSL コマンドを実行して CA 証明書の設定を確認します。
openssl s_client -connect example.com:443 -showcerts
次のことを検証してください。
- 中間証明書と証明書のサブジェクトが、エンティティ証明書の発行者と一致している。
- ルート証明書のサブジェクトが中間証明書の発行者と一致している。
- ルート証明書において、サブジェクトと発行者は同じです。
証明書が 2048 bit を超えない
次の OpenSSL コマンドを実行して、証明書のサイズを確認します。
openssl x509 -in badssl-com.pem -text -noout | grep -E '(Public-Key):'
**注:**証明書のサイズは 2048 bit を超えることはできません。
証明書がこれらの要件のいずれも満たさない場合、まず プライベート CA を更新 してください。次に、AWS Certificate Manager (ACM) を使用して新しい証明書を再発行します。
関連情報
API Gateway のプライベート統合をセットアップする