सर्टिफ़िकेट प्रॉविज़निंग एपीआई

सर्टिफ़िकेट प्रोविज़निंग एपीआई की मदद से, सर्टिफ़िकेट देने वाली संस्थाओं को ChromeOS क्लाइंट सर्टिफ़िकेट प्रोविज़निंग के साथ इंटिग्रेट किया जा सकता है.

ChromeOS एडमिन, अपने ChromeOS डिवाइसों या ChromeOS उपयोगकर्ताओं को कॉन्फ़िगर कर सकते हैं, ताकि वे किसी बाहरी सर्टिफ़िकेट देने वाली संस्था से क्लाइंट सर्टिफ़िकेट का अनुरोध कर सकें. सर्टिफ़िकेट देने वाली संस्था, सर्टिफ़िकेट प्रोविज़निंग एडेप्टर (उदाहरण के लिए, Google Cloud सर्टिफ़िकेट कनेक्टर (GCCC)) के ज़रिए, सर्टिफ़िकेट प्रोविज़निंग एपीआई के साथ इंटरैक्ट करती है. हर सर्टिफ़िकेट प्रोवाइज़निंग अडैप्टर को, Pub/Sub के ज़रिए सर्टिफ़िकेट प्रोवाइज़ करने के नए अनुरोधों के बारे में सूचनाएं मिलती हैं. इसके बाद, वह सर्टिफ़िकेट प्रोवाइज़ करने के अनुरोध करने वाले ChromeOS डिवाइस या ChromeOS उपयोगकर्ता के साथ इंटरैक्ट करने के लिए, सर्टिफ़िकेट प्रोवाइज़ करने वाले एपीआई का इस्तेमाल करता है.

यह सेवा इन मुख्य कॉन्सेप्ट के साथ काम करती है:

  • क्लाइंट सर्टिफ़िकेट, X.509 डिजिटल सर्टिफ़िकेट होता है. इसे ChromeOS डिवाइस या ChromeOS उपयोगकर्ता के लिए जारी किया जाता है. कुंजी का जोड़ा डिवाइस पर जनरेट होता है और निजी कुंजी कभी भी डिवाइस से बाहर नहीं भेजी जाती.
  • सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस (इसे CertificateProvisioningProcess संसाधन से दिखाया जाता है) से, क्लाइंट सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस के बारे में पता चलता है. सर्टिफ़िकेट का अनुरोध करने वाला क्लाइंट, ChromeOS डिवाइस या ChromeOS उपयोगकर्ता होता है.
  • सर्टिफ़िकेट उपलब्ध कराने वाली प्रोफ़ाइल में, क्लाइंट सर्टिफ़िकेट के लिए एडमिन के कॉन्फ़िगरेशन के बारे में बताया जाता है. क्लाइंट को उन सभी प्रोफ़ाइलों के लिए सर्टिफ़िकेट दिया जाता है जो उन पर लागू होती हैं.

सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस का सामान्य फ़्लो:

  • क्लाइंट सर्टिफ़िकेट प्रोफ़ाइल फ़ेच करने के बाद, यह सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस शुरू करता है. यह प्रोसेस, सर्टिफ़िकेट उपलब्ध कराने वाले संसाधन से जुड़ी होती है.
  • सर्टिफ़िकेट प्रोविज़निंग अडैप्टर के हर ऐसे इंस्टेंस को, सर्टिफ़िकेट प्रोविज़न करने की नई प्रोसेस के बारे में सूचना मिलती है जो काम के Pub/Sub विषय की सदस्यता लेता है. Pub/Sub सूचना में, CertificateProvisioningPubsubNotification प्रोटो मैसेज होता है. इसमें सर्टिफ़िकेट प्रोवाइड करने की प्रोसेस का यूनीक आईडी होता है.
  • हर सर्टिफ़िकेट प्रोविज़निंग अडैप्टर, सर्टिफ़िकेट प्रोविज़निंग प्रोसेस रिसॉर्स को ऐक्सेस कर सकता है. get तरीका देखें.
  • कई अडैप्टर इंस्टेंस एक साथ चल सकते हैं और एक ही सर्टिफ़िकेट की प्रोवाइज़निंग प्रोसेस पर एक साथ दावा कर सकते हैं. दावा करने का तरीका देखें. हालांकि, दावा करने का यह तरीका सिर्फ़ एक अडैप्टर इंस्टेंस के लिए काम करेगा. इसके बाद, सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस के बाकी चरणों को भी मैनेज करना होगा.
  • सर्टिफ़िकेट प्रोविज़निंग अडैप्टर, क्लाइंट की निजी कुंजी का इस्तेमाल करके जनरेट किए गए क्रिप्टोग्राफ़िक हस्ताक्षर का अनुरोध कर सकता है. signData का तरीका देखें. यह तरीका, लंबे समय तक चलने वाला ऑपरेशन दिखाता है.
  • सर्टिफ़िकेट प्रोविज़निंग अडैप्टर को समय-समय पर, लंबे समय तक चलने वाले ऑपरेशन की स्थिति मिलती है. get तरीका देखें.
  • सर्टिफ़िकेट उपलब्ध कराने वाला अडैप्टर, सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस के लिए सर्टिफ़िकेट अपलोड करता है. uploadCertificate का तरीका देखें. इस सर्टिफ़िकेट को ChromeOS क्लाइंट इंपोर्ट करता है.
  • सर्टिफ़िकेट उपलब्ध कराने की पूरी प्रोसेस के दौरान, अडैप्टर, सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस को 'पूरी नहीं हुई' के तौर पर मार्क कर सकता है. setFailure तरीका देखें. ChromeOS क्लाइंट पर सर्टिफ़िकेट सेटिंग पेज पर, गड़बड़ी का दिया गया मैसेज दिखता है. क्लाइंट कुछ मामलों में, सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस को फिर से शुरू करता है. जैसे, 24 घंटे बाद या डिवाइस को रीबूट करने के बाद.

Pub/Sub मैसेज का शुरुआती फ़ॉर्मैट

सर्टिफ़िकेट उपलब्ध कराने वाले अडैप्टर को भेजा जाने वाला शुरुआती Pub/Sub मैसेज, सर्टिफ़िकेट उपलब्ध कराने की नई प्रोसेस के बारे में सूचना देने के लिए होता है. यह मैसेज, इस फ़ॉर्मैट का पालन करता है:

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;
  }
}

एपीआई के तरीकों के बारे में खास जानकारी

यूआरएल, https://chromemanagement.googleapis.com/v1/customers/{customer_id} से जुड़े हैं

ब्यौरा मिलता-जुलता यूआरएल Http method
सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस /certificateProvisioningProcess/{certificate_provisioning_process_id} पाएं
सर्टिफ़िकेट उपलब्ध कराने की प्रोसेस पर दावा करना /certificateProvisioningProcess/{certificate_provisioning_process_id}:claim पोस्ट करें
क्रिप्टोग्राफ़िक हस्ताक्षर का अनुरोध करना /certificateProvisioningProcess/{certificate_provisioning_process_id}:signData पोस्ट करें
सर्टिफ़िकेट अपलोड करना /certificateProvisioningProcess/{certificate_provisioning_process_id}:uploadCertificate पोस्ट करें
सर्टिफ़िकेट की प्रोवाइज़निंग की प्रोसेस को 'पूरा नहीं हुआ' के तौर पर मार्क करना /certificateProvisioningProcess/{certificate_provisioning_process_id}:setFailure पोस्ट करें
Get sign data long-running operation /certificateProvisioningProcess/{certificate_provisioning_process_id}/operations/{operation_id} पाएं

अनुरोध और रिस्पॉन्स के उदाहरण के लिए, कोड के सैंपल देखें.

एपीआई के स्कोप

Chrome Management API के लिए, OAuth के इस दायरे की ज़रूरत होती है:

https://www.googleapis.com/auth/chrome.management.certprov.provisioningprocess

ज़्यादा जानकारी के लिए, पुष्टि करने की खास जानकारी देखें.