La API de Certificate Provisioning permite integrar autoridades certificadoras con el aprovisionamiento de certificados de cliente de ChromeOS.
Los administradores de ChromeOS pueden configurar sus dispositivos ChromeOS o usuarios de ChromeOS para solicitar certificados de cliente a una autoridad certificadora externa. La AC interactúa con la API de Certificate Provisioning a través de adaptadores de aprovisionamiento de certificados (p.ej., Google Cloud Certificate Connector [GCCC]). Cada adaptador de aprovisionamiento de certificados recibe notificaciones sobre solicitudes de aprovisionamiento de certificados nuevas a través de Pub/Sub y, luego, usa la API de Certificate Provisioning para interactuar con el dispositivo ChromeOS o el usuario de ChromeOS que solicita un certificado.
Este servicio funciona con los siguientes conceptos principales:
- Un certificado de cliente es un certificado digital X.509 emitido para un dispositivo o usuario de ChromeOS. El par de claves se genera en el dispositivo y la clave privada nunca sale de él.
- Un proceso de aprovisionamiento de certificados (representado por el recurso CertificateProvisioningProcess) describe el proceso de aprovisionamiento de un certificado de cliente. El cliente que solicita un certificado es un dispositivo ChromeOS o un usuario de ChromeOS.
- Un perfil de aprovisionamiento de certificados describe la configuración del administrador para un certificado de cliente. Los clientes se aprovisionan con un certificado para cada perfil que se les aplica.
Flujo general de un proceso de aprovisionamiento de certificados:
- Después de que un cliente recupera un perfil de certificado de cliente, inicia un proceso de aprovisionamiento de certificados que está vinculado a un recurso de aprovisionamiento de certificados.
- Cada adaptador de aprovisionamiento de certificados que se suscriba al tema de Pub/Sub relevante recibirá una notificación sobre un nuevo proceso de aprovisionamiento de certificados. La notificación de Pub/Sub contiene un mensaje de proto CertificateProvisioningPubsubNotification que transmite el ID único del proceso de aprovisionamiento de certificados.
- Cada adaptador de aprovisionamiento de certificados puede acceder al recurso del proceso de aprovisionamiento de certificados. Consulta el método get.
- Varias instancias de adaptador se pueden ejecutar en paralelo y pueden intentar reclamar el mismo proceso de aprovisionamiento de certificados de forma simultánea. Consulta el método de reclamación. Sin embargo, el método de reclamo solo se realizará correctamente para una sola instancia de adaptador, que también debe controlar los pasos restantes del proceso de aprovisionamiento de certificados.
- El adaptador de aprovisionamiento de certificados puede solicitar una firma criptográfica generada con la clave privada del cliente. Consulta el método signData. Este método muestra una Operación de larga duración.
- El adaptador de aprovisionamiento de certificados obtiene periódicamente el estado de la operación de larga duración. Consulta el método get.
- El adaptador de aprovisionamiento de certificados sube un certificado para el proceso de aprovisionamiento de certificados. Consulta el método uploadCertificate. El cliente de ChromeOS importa este certificado.
- Durante todo el proceso de aprovisionamiento de certificados, el adaptador puede marcar el proceso de aprovisionamiento de certificados como fallido. Consulta el método setFailure. La página de configuración de certificados del cliente de ChromeOS muestra el mensaje de error proporcionado. El cliente vuelve a intentar el proceso de aprovisionamiento de certificados en ciertas ocasiones, por ejemplo, después de 24 horas o después de reiniciar el dispositivo.
Formato inicial del mensaje de Pub/Sub
El mensaje inicial de Pub/Sub que se envía a los adaptadores de aprovisionamiento de certificados para notificarles sobre un nuevo proceso de aprovisionamiento de certificados cumple con el siguiente formato:
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;
}
}
Descripción general rápida de los métodos de la API
Las URLs son relativas a https://chromemanagement.googleapis.com/v1/customers/{customer_id}
.
Descripción | URL relativa | Método HTTP |
---|---|---|
Obtén un proceso de aprovisionamiento de certificados | /certificateProvisioningProcess/{certificate_provisioning_process_id} | GET |
Reclama un proceso de aprovisionamiento de certificados | /certificateProvisioningProcess/{certificate_provisioning_process_id}:claim | PUBLICAR |
Cómo solicitar una firma criptográfica | /certificateProvisioningProcess/{certificate_provisioning_process_id}:signData | PUBLICAR |
Sube un certificado | /certificateProvisioningProcess/{certificate_provisioning_process_id}:uploadCertificate | PUBLICAR |
Marca el proceso de aprovisionamiento de certificados como fallido | /certificateProvisioningProcess/{certificate_provisioning_process_id}:setFailure | PUBLICAR |
Operación de larga duración para obtener datos de firma | /certificateProvisioningProcess/{certificate_provisioning_process_id}/operations/{operation_id} | GET |
Consulta las muestras de código para ver solicitudes y respuestas de ejemplo.
Permisos de la API
La API de Chrome Management requiere el siguiente permiso de OAuth:
https://www.googleapis.com/auth/chrome.management.certprov.provisioningprocess
Para obtener más información, consulta la Descripción general de la autenticación.