Algunos productos y funciones están en proceso de cambiar de nombre. Las funciones de flujo y de la guía generativa también se migrarán a una sola consola consolidada. Consulta los detalles.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Los webhooks de agentes conversacionales (Dialogflow CX) requieren extremos HTTPS que presenten certificados TLS válidos cuando se verifiquen con el almacén de confianza predeterminado de Google. Sin embargo, es posible que desees usar certificados de CA personalizados, que no pueden estar firmados por una autoridad certificadora 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 de conversación (Dialogflow CX) cuando creas webhooks, y los certificados subidos anularán el almacén de confianza predeterminado de Google.
Los certificados de CA personalizados pueden ser certificados autofirmados o certificados raíz personalizados. Puedes subir varios certificados en caso de que desees rotar los certificados. Los certificados deben estar en formato DER y deben estar firmados con un nombre alternativo de entidad que coincida con la URL del webhook. Cuando la extensión keyUsage está presente, su valor debe ser digitalSignature.
Servidor autofirmado de demostración
A continuación, se muestra la configuración de un servidor de demostración:
Prepara los archivos de certificado autofirmados.
Usamos www.example.com como dominio de ejemplo.
Inicia tu servidor HTTPS con el certificado de servidor (server.crt) y la clave privada (server.key) que se creó en el paso anterior.
Suponemos que el servidor está escuchando en el puerto 443.
Prueba para conectarte al servidor de manera local.
Webhook de demostración con certificado personalizado
Después de configurar el servidor con tu certificado personalizado, puedes crear un recurso de webhook con las siguientes instrucciones adicionales para usar el certificado personalizado:
Configura la URL que coincide con el dominio firmado con el certificado (https://www.example.com en la demostración anterior).
Es tu propia responsabilidad asegurarte de que tu dominio se resuelva de forma correcta en la dirección IP del servidor.
Sube el certificado personalizado en formato DER. Este es el archivo server.der de la demostración anterior de autofirma o el certificado raíz personalizado.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eDialogflow CX webhooks, which require HTTPS endpoints, can utilize custom CA certificates when the default Google trust store is insufficient, such as for servers within Google's private VPC network.\u003c/p\u003e\n"],["\u003cp\u003eCustom certificates, either self-signed or custom root certificates, must be in DER format and include a subject alternative name that matches the webhook URL, with the optional keyUsage extension set to \u003ccode\u003edigitalSignature\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo configure a webhook with a custom certificate, the certificate file (in DER format) must be uploaded, and the webhook URL must correspond to the domain name signed by the custom certificate.\u003c/p\u003e\n"],["\u003cp\u003eService directory integrations require you to set the service directory endpoint with the IP and port of your server.\u003c/p\u003e\n"]]],[],null,["# Custom CA certificates\n\nConversational Agents (Dialogflow CX) webhooks require HTTPS endpoints\nthat present valid TLS certificates when they are\nverified using Google's default trust store. However, you may want to use custom\nCA certificates, which cannot be signed by a certificate authority recognized by\nGoogle's default trust store. For example, webhook servers that are inside\nGoogle's private VPC network have this issue. In this case, you can upload the\ncustom certificates to Conversational Agents (Dialogflow CX) when creating webhooks, and the uploaded\ncertificates will override Google's default trust store.\n\nCustom CA certificates can be self-signed certificates or custom root\ncertificates. You can upload multiple certificates in case you want to rotate\nthe certificates. The certificates must be in\n[DER format](https://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions)\nand must be signed with\n[subject alternative name](https://en.wikipedia.org/wiki/Subject_Alternative_Name)\nmatching the webhook URL. When the\n[keyUsage](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3)\nextension is present, its value needs to be `digitalSignature`.\n| **Note:** Conversational Agents (Dialogflow CX) does not support customizing the webhook client certificate to perform [mutual TLS authentication](/dialogflow/cx/docs/concept/mtls).\n\nDemo self-signed server\n-----------------------\n\nThe following is the configuration of a demo server:\n\n1. Prepare self-signed certificate files. We use www.example.com as the example domain. \n\n ```text\n openssl genrsa -out server.key 2048\n openssl req -nodes -new -sha256 -newkey rsa:2048 -key server.key -subj \"/CN=www.example.com\" -out server.csr\n openssl x509 -req -days 3650 -sha256 -in server.csr -signkey server.key -out server.crt -extfile \u003c(printf \"\\nsubjectAltName='DNS:www.example.com'\")\n openssl x509 -in server.crt -out server.der -outform DER\n ```\n2. Start your HTTPS server using the server certificate (`server.crt`) and private key (`server.key`) created in previous step. We assume the server is listening on port 443.\n3. Test to connect to the server locally. \n\n ```text\n curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1\n ```\n\nDemo webhook with custom certificate\n------------------------------------\n\nAfter you have setup the server with your custom certificate, you may\n[create a webhook resource](/dialogflow/cx/docs/concept/webhook#create)\nwith the following extra instructions to use the custom certificate:\n\n- Set the URL matching the domain signed with the certificate (`https://www.example.com` in previous demo). It is your own responsibility to make sure that your domain will correctly resolve to the IP address of the server.\n- Upload the custom certificate in DER format. This is the `server.der` file in previous self-signed demo or the custom root certificate.\n- For webhooks integrated with [Service Directory private network access](/dialogflow/cx/docs/concept/webhook#sd), Setup your [Service Directory Endpoint](/service-directory/docs/configuring-service-directory#configure_an_endpoint) with the IP address and port of your server, and provide the [Service Directory Service](/service-directory/docs/configuring-service-directory#configure_a_service) when creating webhook."]]