Los webhooks de los agentes conversacionales (Dialogflow CX) requieren endpoints HTTPS que presenten certificados TLS válidos cuando se verifiquen mediante el almacén de confianza predeterminado de Google. Sin embargo, es posible que quieras usar certificados de AC personalizados, que no pueden estar firmados por una autoridad de certificación reconocida por el almacén de confianza predeterminado de Google. Por ejemplo, los servidores de webhook que están dentro de la red de VPC privada de Google tienen este problema. En este caso, puedes subir los certificados personalizados a los agentes conversacionales (Dialogflow CX) al crear webhooks, y los certificados subidos sustituirán al almacén de confianza predeterminado de Google.
Los certificados de AC personalizados pueden ser certificados autofirmados o certificados raíz personalizados. Puedes subir varios certificados si quieres alternarlos. Los certificados deben estar en formato DER y deben firmarse con un nombre alternativo del firmante que coincida con la URL del webhook. Cuando se incluye la extensión keyUsage, su valor debe ser digitalSignature
.
Servidor de demostración autofirmado
A continuación, se muestra la configuración de un servidor de demostración:
- Prepara los archivos de certificado autofirmado.
Usamos www.example.com como dominio de ejemplo.
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
- Inicia el servidor HTTPS con el certificado de servidor (
server.crt
) y la clave privada (server.key
) que has creado en el paso anterior. Suponemos que el servidor está escuchando en el puerto 443. -
Prueba a conectarte al servidor de forma local.
curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1
Webhook de demostración con certificado personalizado
Una vez que hayas configurado el servidor con tu certificado personalizado, puedes crear un recurso de webhook siguiendo estas instrucciones adicionales para usar el certificado personalizado:
- Defina la URL que coincida con el dominio firmado con el certificado (
https://www.example.com
en la demostración anterior). Es tu responsabilidad asegurarte de que tu dominio se resuelva correctamente en la dirección IP del servidor. - Sube el certificado personalizado en formato DER. Se trata del archivo
server.der
de la demostración anterior con firma automática o del certificado raíz personalizado. - Para las webhooks integradas con el acceso a la red privada del directorio de servicios, configura el punto final del directorio de servicios con la dirección IP y el puerto de tu servidor, y proporciona el servicio del directorio de servicios al crear la webhook.