Certificats CA personnalisés

Les webhooks des agents conversationnels (Dialogflow CX) 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 les agents conversationnels (Dialogflow CX) lors de la création des webhooks. Les certificats importés remplacent 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. Lorsque l'extension keyUsage est présente, sa valeur doit être digitalSignature.

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 avec les instructions supplémentaires suivantes pour utiliser le certificat personnalisé:

  • Définissez l'URL correspondant au domaine signé avec le certificat (https://www.example.com dans la démonstration précédente). Il vous incombe de vérifier que votre domaine sera correctement associé à l'adresse IP du serveur.
  • Importez le certificat personnalisé au format DER. Il s'agit du fichier server.der de la démonstration autosignée précédente ou du certificat racine personnalisé.
  • Pour les webhooks intégrés à l'accès privé au réseau de l'annuaire des services, configurez votre point de terminaison de l'annuaire des services avec l'adresse IP et le port de votre serveur, et fournissez le service d'annuaire des services lors de la création du webhook.