Certificats CA personnalisés

Les webhooks Dialogflow nécessitent des points de terminaison HTTPS qui présentent des certificats TLS valides lorsqu'ils sont validés à l'aide du magasin de confiance par défaut de Google. Toutefois, vous pouvez utiliser des certificats CA personnalisés, qui ne peuvent pas être signés par une autorité de certification reconnue par le magasin de confiance par défaut de Google. Par exemple, les serveurs de webhooks situés dans le réseau VPC privé de Google rencontrent ce problème. Dans ce cas, vous pouvez importer les certificats personnalisés dans Dialogflow lors de la création de webhooks. Les certificats importés remplaceront le magasin de confiance par défaut de Google.

Les certificats CA personnalisés peuvent être des certificats autosignés ou des certificats racines personnalisés. Vous pouvez importer plusieurs certificats au cas où vous souhaiteriez les alterner. Les certificats doivent être au format DER et signés avec un autre nom d'objet correspondant à l'URL du webhook.

Serveur autosigné de démonstration

Voici la configuration d'un serveur de démonstration:

  1. Préparer les fichiers de certificat autosignés. Nous utilisons www.example.com comme exemple de domaine.
    openssl genrsa -out server.key 2048
    openssl req -nodes -new -sha256 -newkey rsa:2048 -key server.key -subj "/CN=www.example.com" -out server.csr
    openssl x509 -req -days 3650 -sha256 -in server.csr -signkey server.key -out server.crt -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    openssl x509 -in server.crt -out server.der -outform DER
  2. Démarrez votre serveur HTTPS à l'aide du certificat de serveur (server.crt) et de la clé privée (server.key) créés à l'étape précédente. Nous partons du principe que le serveur écoute sur le port 443.
  3. Testez pour vous connecter au serveur localement.
    curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1

Webhook de démonstration avec certificat personnalisé

Après avoir configuré le serveur avec votre certificat personnalisé, vous pouvez créer une ressource de webhook en suivant les instructions supplémentaires suivantes pour utiliser le certificat personnalisé: