Passer au contenu

Comment résoudre les erreurs liées aux certificats SSL générés par API Gateway ?

Lecture de 3 minute(s)
0

Je souhaite résoudre les problèmes liés aux certificats SSL auto-signés et expirés générés par Amazon API Gateway et que j'ai installés sur mon système dorsal.

Résolution

Tester l’intégration de proxy HTTP

Utilisez la console API Gateway pour tester les certificats SSL défectueux. Pour obtenir une liste de certificats SSL défectueux, consultez la page badssl.com sur le site Web de Bad SSL.

Procédez comme suit :

  1. Créez une ressource nommée /selfsigned.
  2. Créez une méthode GET sur la ressource.
  3. Configurez une intégration de proxy HTTP avec l'URL.
  4. Ouvrez la console API Gateway.
  5. Testez l'API.
  6. Répétez chacune des étapes précédentes avec une ressource nommée /expiredcert, puis une autre ressource nommée /untrustedRootCA.

Pour la ressource nommée /selfsigned, le message d'erreur suivant s'affiche :

« Thu Dec 15 16:05:05 UTC 2022 : Sending request to https://self-signed.badssl.com/
Thu Dec 15 16:05:05 UTC 2022 : Execution failed due to configuration error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target »

Pour la ressource nommée /expiredcert, le message d'erreur suivant s'affiche :

« Thu Dec 15 16:06:02 UTC 2022 : Sending request to https://expired.badssl.com/
Thu Dec 15 16:06:02 UTC 2022 : Execution failed due to configuration error: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed »

Pour la ressource nommée /untrustedRootCA, le message d'erreur suivant s'affiche :

« Thu Dec 15 16:06:28 UTC 2022 : Sending request to https://untrusted-root.badssl.com/
Thu Dec 15 16:06:28 UTC 2022 : Execution failed due to configuration error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target »

Résoudre les erreurs de configuration

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Lorsqu'un Network Load Balancer utilise un écouteur TLS, il effectue une terminaison TLS et crée une autre connexion avec la cible. Le certificat attaché au Network Load Balancer doit répondre à toutes les exigences.

Un Network Load Balancer n'effectue pas de validation de certificat lors de la liaison SSL avec la cible. Le Network Load Balancer accepte les certificats expirés ou auto-signés que vous avez installés sur les instances cibles. Le Network Load Balancer et les groupes cibles sont liés au sein d'un cloud privé virtuel (VPC). Si le Network Load Balancer utilise un écouteur TCP, la liaison TLS s'effectue de bout en bout. Dans ce cas, l'application dorsale doit répondre aux exigences SSL.

API Gateway prend en charge l'indication du nom du serveur (SNI) lors d'une liaison SSL via une intégration de lien VPC.

Si le Network Load Balancer dorsal utilise un certificat auto-signé ou privé qu'une autorité de certification (CA) n'a pas émis, le message d'erreur suivant s'affiche :

« Execution failed due to configuration error: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target »

Pour résoudre ce problème, exécutez la commande d’AWS CLI update-integration suivante et définissez insecureSkipVerification sur vrai dans l'objet tlsConfig de l’intégration :

aws apigateway update-integration --rest-api-id EXAMPLE-REST-API-ID --resource-id EXAMPLE-RESOURCE-ID --http-method GET --patch-operations "op='replace',path='/tlsConfig/insecureSkipVerification',value=true"

Remarque : Remplacez EXAMPLE-REST-API-ID et EXAMPLE-RESOURCE-ID par vos valeurs.

Informations connexes

Générer et configurer un certificat SSL pour l'authentification de backend dans API Gateway