Certificati CA personalizzati

I webhook Dialogflow richiedono endpoint HTTPS che presentano certificati TLS validi quando vengono verificati utilizzando l'archivio di attendibilità predefinito di Google. Tuttavia, ti consigliamo di utilizzare certificati CA personalizzati, che non possono essere firmati da un'autorità di certificazione riconosciuta dall'archivio di attendibilità predefinito di Google. Ad esempio, i server webhook all'interno della rete VPC privata di Google presentano questo problema. In questo caso, puoi caricare i certificati personalizzati in Dialogflow durante la creazione dei webhook e i certificati caricati sostituiranno l'archivio di attendibilità predefinito di Google.

I certificati CA personalizzati possono essere certificati autofirmati o certificati radice personalizzati. Puoi caricare più certificati nel caso tu voglia ruotarli. I certificati devono essere in formato DER e devono essere firmati con un nome alternativo del soggetto corrispondente all'URL webhook. Quando è presente l'estensione keyUsage, il suo valore deve essere digitalSignature.

Demo del server autofirmato

Di seguito è riportata la configurazione di un server demo:

  1. Prepara i file dei certificati autofirmati. Utilizziamo www.example.com come dominio di esempio.
    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. Avvia il server HTTPS utilizzando il certificato del server (server.crt) e la chiave privata (server.key) creati nel passaggio precedente. Supponiamo che il server sia in ascolto sulla porta 443.
  3. Prova a connetterti al server localmente.
    curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1

Webhook demo con certificato personalizzato

Dopo aver configurato il server con il certificato personalizzato, puoi creare una risorsa webhook con le seguenti istruzioni aggiuntive per utilizzare il certificato personalizzato:

  • Imposta l'URL corrispondente al dominio firmato con il certificato (https://www.example.com nella demo precedente). È tua responsabilità assicurarti che il tuo dominio venga risolto correttamente nell'indirizzo IP del server.
  • Carica il certificato personalizzato in formato DER. Questo è il file server.der nella demo autofirmata precedente o il certificato radice personalizzato.
  • Per i webhook integrati con l'accesso alla rete privata di Service Directory, configura l'endpoint Service Directory con l'indirizzo IP e la porta del server e fornisci il servizio Service Directory durante la creazione del webhook.