Certificati CA personalizzati

I webhook di Conversational Agents (Dialogflow CX) richiedono endpoint HTTPS che presentino certificati TLS validi quando vengono verificati utilizzando l'archivio 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 Conversational Agents (Dialogflow CX) durante la creazione di webhook e i certificati caricati sostituiranno l'archivio 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 nome alternativo del soggetto corrispondente all'URL webhook. Quando è presente l'estensione keyUsage, il suo valore deve essere digitalSignature.

Server autofirmato demo

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. 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 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 in modo che corrisponda 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 quando crei il webhook.