Certificados da AC personalizados

Os webhooks dos agentes conversacionais (Dialogflow CX) requerem pontos finais HTTPS que apresentem certificados TLS válidos quando são validados através do repositório fidedigno predefinido da Google. No entanto, pode querer usar certificados de AC personalizados, que não podem ser assinados por uma autoridade de certificação reconhecida pela loja de confiança predefinida da Google. Por exemplo, os servidores de webhook que estão na rede VPC privada da Google têm este problema. Neste caso, pode carregar os certificados personalizados para os agentes conversacionais (Dialogflow CX) ao criar webhooks, e os certificados carregados substituem o repositório de confiança predefinido da Google.

Os certificados da AC personalizados podem ser certificados autoassinados ou certificados de raiz personalizados. Pode carregar vários certificados caso queira rodá-los. Os certificados têm de estar no formato DER e têm de ser assinados com o nome alternativo do assunto que corresponda ao URL do webhook. Quando a extensão keyUsage está presente, o respetivo valor tem de ser digitalSignature.

Servidor autoassinado de demonstração

Segue-se a configuração de um servidor de demonstração:

  1. Prepare ficheiros de certificados autoassinados. Usamos www.example.com como 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
  2. Inicie o servidor HTTPS com o certificado do servidor (server.crt) e a chave privada (server.key) criados no passo anterior. Presumimos que o servidor está a detetar na porta 443.
  3. Teste a ligação ao servidor localmente.
    curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1

Demonstração de webhook com certificado personalizado

Depois de configurar o servidor com o seu certificado personalizado, pode criar um recurso de webhook com as seguintes instruções adicionais para usar o certificado personalizado:

  • Defina o URL correspondente ao domínio assinado com o certificado (https://www.example.com na demonstração anterior). É da sua responsabilidade certificar-se de que o seu domínio é resolvido corretamente para o endereço IP do servidor.
  • Carregue o certificado personalizado no formato DER. Este é o ficheiro server.der na demonstração autoassinada anterior ou no certificado de raiz personalizado.
  • Para webhooks integrados com o acesso à rede privada do Service Directory, configure o ponto final do Service Directory com o endereço IP e a porta do seu servidor e forneça o serviço do Service Directory ao criar o webhook.