Certificate Provisioning API memungkinkan integrasi Certificate Authority dengan penyediaan sertifikat klien ChromeOS.
Administrator ChromeOS dapat mengonfigurasi perangkat ChromeOS atau pengguna ChromeOS mereka untuk meminta sertifikat klien dari Certificate Authority eksternal. Certificate Authority berinteraksi dengan Certificate Provisioning API melalui Certificate Provisioning Adapter (misalnya, Google Cloud Certificate Connector (GCCC)). Setiap Adapter Penyediaan Sertifikat menerima notifikasi tentang permintaan penyediaan sertifikat baru melalui Pub/Sub, lalu menggunakan Certificate Provisioning API untuk berinteraksi dengan perangkat ChromeOS atau pengguna ChromeOS yang meminta sertifikat.
Layanan ini berfungsi dengan konsep utama berikut:
- Sertifikat klien adalah sertifikat digital X.509 yang dikeluarkan untuk perangkat ChromeOS atau pengguna ChromeOS. Pasangan kunci dibuat di perangkat dan kunci pribadi tidak pernah dikirim ke luar perangkat.
- Proses penyediaan sertifikat (diwakili oleh resource CertificateProvisioningProcess) menjelaskan proses penyediaan sertifikat klien. Klien yang meminta sertifikat adalah perangkat ChromeOS atau pengguna ChromeOS.
- Profil penyediaan sertifikat menjelaskan konfigurasi administrator untuk sertifikat klien. Klien disediakan dengan sertifikat untuk setiap profil yang berlaku untuk mereka.
Alur umum proses penyediaan sertifikat:
- Setelah mengambil profil sertifikat klien, klien akan meluncurkan proses penyediaan sertifikat yang terikat dengan resource penyediaan sertifikat.
- Setiap Adaptor Penyediaan Sertifikat yang berlangganan topik Pub/Sub yang relevan akan mendapatkan notifikasi tentang proses penyediaan sertifikat baru. Notifikasi Pub/Sub berisi pesan proto CertificateProvisioningPubsubNotification yang menyampaikan ID unik proses penyediaan sertifikat.
- Setiap Adaptor Penyediaan Sertifikat dapat mengakses resource proses penyediaan sertifikat, lihat metode get.
- Beberapa instance Adaptor dapat berjalan secara paralel dan dapat mencoba mengklaim proses penyediaan sertifikat yang sama secara bersamaan, lihat metode claim. Namun, metode klaim hanya akan berhasil untuk satu instance Adapter yang kemudian juga harus menangani langkah-langkah yang tersisa dari proses penyediaan sertifikat.
- Adapter Penyediaan Sertifikat dapat meminta tanda tangan kriptografis yang dibuat menggunakan kunci pribadi klien, lihat metode signData. Metode ini menampilkan Operasi yang berjalan lama.
- Adaptor Penyediaan Sertifikat secara berkala mendapatkan status operasi yang berjalan lama, lihat metode get.
- Adapter Penyediaan Sertifikat mengupload sertifikat untuk proses penyediaan sertifikat, lihat metode uploadCertificate. Sertifikat ini diimpor oleh klien ChromeOS.
- Selama seluruh proses penyediaan sertifikat, Adaptor dapat menandai proses penyediaan sertifikat sebagai gagal, lihat metode setFailure. Halaman setelan sertifikat di klien ChromeOS menampilkan pesan error yang diberikan. Klien mencoba ulang proses penyediaan sertifikat pada acara tertentu, misalnya, setelah 24 jam atau setelah memulai ulang perangkat.
Format pesan Pub/Sub awal
Pesan Pub/Sub awal yang dikirim ke Adapter Penyediaan Sertifikat untuk memberi tahu mereka tentang proses penyediaan sertifikat baru mematuhi format berikut:
message CertificateProvisioningProcessCreatedEventData {
// Unique ID of the certificate provisioning process.
string certificate_provisioning_process_id = 1;
// The customer ID to which the client of the certificate provisioning process
// belongs.
string customer_id = 2;
}
// Content of the pubsub message that is sent to the adapter to notify it about
// a new event that should be handled.
message CertificateProvisioningPubsubNotification {
oneof event {
// Event data of the certificate provisioning process that was created.
CertificateProvisioningProcessCreatedEventData
certificate_provisioning_process_created_event_data = 1;
}
}
Ringkasan singkat metode API
URL bersifat relatif terhadap
https://chromemanagement.googleapis.com/v1/customers/{customer_id}
Deskripsi | URL relatif | Metode HTTP |
---|---|---|
Mendapatkan proses penyediaan sertifikat | /certificateProvisioningProcess/{certificate_provisioning_process_id} | DAPATKAN |
Mengklaim proses penyediaan sertifikat | /certificateProvisioningProcess/{certificate_provisioning_process_id}:claim | POSTING |
Meminta tanda tangan kriptografis | /certificateProvisioningProcess/{certificate_provisioning_process_id}:signData | POSTING |
Mengunggah sertifikat | /certificateProvisioningProcess/{certificate_provisioning_process_id}:uploadCertificate | POSTING |
Menandai proses penyediaan sertifikat sebagai gagal | /certificateProvisioningProcess/{certificate_provisioning_process_id}:setFailure | POSTING |
Mendapatkan operasi yang berjalan lama untuk data tanda tangan | /certificateProvisioningProcess/{certificate_provisioning_process_id}/operations/{operation_id} | DAPATKAN |
Lihat contoh kode untuk contoh permintaan dan respons.
Cakupan API
Chrome Management API memerlukan cakupan OAuth berikut:
https://www.googleapis.com/auth/chrome.management.certprov.provisioningprocess
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Autentikasi.