Os webhooks de agentes de conversação (Dialogflow CX) exigem endpoints HTTPS que apresentam certificados TLS válidos quando são verificados usando o armazenamento de confiança padrão do Google. No entanto, você pode usar certificados de CA personalizados, que não podem ser assinados por uma autoridade de certificação reconhecida pelo armazenamento de confiança padrão do Google. Por exemplo, os servidores webhook que estão dentro da rede VPC privada do Google têm esse problema. Nesse caso, é possível fazer o upload dos certificados personalizados para agentes de conversação (Dialogflow CX) ao criar webhooks, e os certificados enviados vão substituir o armazenamento de confiança padrão do Google.
Os certificados de CA personalizados podem ser certificados autoassinados ou certificados raiz personalizados. É possível fazer upload de vários certificados, caso você queira alterná-los. Os certificados precisam estar no
formato DER
e serem assinados com o
nome alternativo do assunto
correspondente ao URL do webhook. Quando a extensão
keyUsage
estiver presente, o valor dela precisa ser digitalSignature
.
Servidor autoassinado de demonstração
Veja a seguir a configuração de um servidor de demonstração:
- Prepare arquivos de certificado autoassinados.
Usamos www.exemplo.com como o domínio de exemplo.
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
- Inicie o servidor HTTPS usando o certificado de servidor (
server.crt
) e a chave privada (server.key
) criadas na etapa anterior. Presumimos que o servidor esteja escutando na porta 443. -
Faça um teste para se conectar localmente ao servidor.
curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1
Webhook de demonstração com certificado personalizado
Depois de configurar o servidor com o certificado personalizado, crie um recurso webhook com as seguintes instruções extras para usar o certificado personalizado:
- Defina o URL correspondente ao domínio assinado com o certificado
(
https://www.example.com
na demonstração anterior). É sua responsabilidade garantir que o domínio será resolvido corretamente para o endereço IP do servidor. - Faça upload do certificado personalizado no formato DER. Este é o arquivo
server.der
na demonstração autoassinada anterior ou o certificado raiz personalizado. - Para webhooks integrados ao acesso à rede particular do Diretório de serviços, configure o Endpoint do Diretório de serviços com o endereço IP e a porta do servidor e forneça o Serviço do Diretório de serviços ao criar o webhook.