Amazon API ゲートウェイが API リクエストに対して次のようなエラーを返しました。 "設定エラーにより実行に失敗しました: SSLEngine の一般的な問題があります"
解決策
API Gateway API リクエストは、バックエンドで SSL ハンドシェイクを実行します。API Gateway SSL ハンドシェイクを正常に実行するための要件を次に示します。
サポートされている CA
API Gateway は、HTTP、HTTP プロキシ、プライベート統合用の CA をサポートしている必要があります。お使いのオペレーティングシステムで次の OpenSSL コマンドを実行し、CA フィンガープリントを確認してください。
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 月 29 日以降に有効期限が切れます。
有効な CA 証明書
次の OpenSSL コマンドを実行して CA 証明書の設定を確認します。
openssl s_client -connect example.com:443 -showcerts
次のことを検証します。
- 中間証明書と証明書のサブジェクトは、エンティティ証明書の発行元と一致している。
- ルート証明書のサブジェクトは、中間証明書の発行者と一致している。
- ルート証明書において、サブジェクトと発行元が同一である。
証明書が 2048 ビット以内である
次の OpenSSL コマンドを実行して証明書のサイズを確認します。
openssl x509 -in badssl-com.pem -text -noout | grep -E '(Public-Key):'
注: 証明書のサイズは 2048 ビット以内である必要があります。
証明書がこれらの要件のいずれも満たさない場合は、最初にプライベート CA を更新します。次に、AWS Certificate Manager (ACM) を使用して新しい証明書を再発行します。
関連情報
API Gateway での REST API のプライベート統合