Certificati CA personalizzati

I webhook di Dialogflow CX richiedono endpoint HTTPS che presentino certificati TLS validi quando vengono verificati utilizzando l'archivio di attendibilità predefinito di Google. Tuttavia, potresti voler 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 che si trovano all'interno della rete VPC privata di Google presentano questo problema. In questo caso, puoi caricare i certificati personalizzati in Dialogflow CX 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 in cui tu voglia ruotarli. I certificati devono essere in formato DER e devono essere firmati con il nome alternativo del soggetto corrispondente all'URL webhook. Se l' keyUsage è presente, il suo valore deve essere digitalSignature.

Server autofirmato di prova

Di seguito è riportata la configurazione di un server di prova:

  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. Esegui il test per connetterti al server localmente.
    curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1

Webhook di prova 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. Si tratta del file server.der nella demo autofirmata precedente o del certificato radice personalizzato.
  • Per i webhook integrati con l'accesso alla rete privata di Service Directory, configura il tuo endpoint di Service Directory con l'indirizzo IP e la porta del server e fornisci il servizio Service Directory durante la creazione del webhook.