Sertifikat CA kustom

Webhook Dialogflow memerlukan endpoint HTTPS yang menampilkan sertifikat TLS valid saat diverifikasi menggunakan trust store default Google. Namun, Anda dapat menggunakan sertifikat CA kustom, yang tidak dapat ditandatangani oleh certificate authority yang diakui oleh trust store default Google. Misalnya, server webhook yang berada di dalam jaringan VPC pribadi Google mengalami masalah ini. Dalam hal ini, Anda dapat mengupload sertifikat kustom ke Dialogflow saat membuat webhook, dan sertifikat yang diupload akan menggantikan trust store default Google.

Sertifikat CA kustom dapat berupa sertifikat yang ditandatangani sendiri atau root certificate kustom. Anda dapat mengupload beberapa sertifikat jika ingin merotasi sertifikat. Sertifikat harus dalam format DER dan harus ditandatangani dengan nama alternatif subjek yang cocok dengan URL webhook. Jika ada ekstensi keyUsage, nilainya harus digitalSignature.

Server demo yang ditandatangani sendiri

Berikut adalah konfigurasi server demo:

  1. Siapkan file sertifikat yang ditandatangani sendiri. Kami menggunakan www.example.com sebagai domain contoh.
    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. Mulai server HTTPS menggunakan sertifikat server (server.crt) dan kunci pribadi (server.key) yang dibuat di langkah sebelumnya. Kami berasumsi server sedang memproses porta 443.
  3. Uji untuk terhubung ke server secara lokal.
    curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1

Webhook demo dengan sertifikat kustom

Setelah menyiapkan server dengan sertifikat kustom, Anda dapat membuat resource webhook dengan petunjuk tambahan berikut untuk menggunakan sertifikat kustom:

  • Setel URL yang cocok dengan domain yang ditandatangani dengan sertifikat (https://www.example.com di demo sebelumnya). Anda bertanggung jawab sendiri untuk memastikan bahwa domain akan diselesaikan dengan benar ke alamat IP server.
  • Upload sertifikat kustom dalam format DER. File ini adalah file server.der dalam demo yang ditandatangani sendiri sebelumnya atau root certificate kustom.
  • Untuk webhook yang terintegrasi dengan Akses jaringan pribadi Direktori Layanan, siapkan Endpoint Direktori Layanan dengan alamat IP dan port server Anda, serta berikan Layanan Direktori Layanan saat membuat webhook.