chrome.certificateProvider

ब्यौरा

इस एपीआई का इस्तेमाल करके, प्लैटफ़ॉर्म को सर्टिफ़िकेट दिखाएं. प्लैटफ़ॉर्म, टीएलएस की पुष्टि करने के लिए इन सर्टिफ़िकेट का इस्तेमाल कर सकता है.

अनुमतियां

certificateProvider

उपलब्धता

Chrome 46 और उसके बाद के वर्शन सिर्फ़ ChromeOS के लिए

कॉन्सेप्ट और इस्तेमाल

ChromeOS को क्लाइंट सर्टिफ़िकेट दिखाने के लिए, इस एपीआई का इस्तेमाल करने का सामान्य तरीका यह है:

  • एक्सटेंशन, onCertificatesUpdateRequested और onSignatureRequested इवेंट के लिए रजिस्टर करता है.
  • एक्सटेंशन, शुरू करने के बाद सर्टिफ़िकेट की शुरुआती सूची देने के लिए setCertificates() को कॉल करता है.
  • यह एक्सटेंशन, उपलब्ध सर्टिफ़िकेट की सूची में होने वाले बदलावों पर नज़र रखता है. साथ ही, हर बदलाव के बारे में ब्राउज़र को सूचना देने के लिए, setCertificates() को कॉल करता है.
  • TLS हैंडशेक के दौरान, ब्राउज़र को क्लाइंट सर्टिफ़िकेट का अनुरोध मिलता है. onCertificatesUpdateRequested इवेंट की मदद से, ब्राउज़र एक्सटेंशन से उन सभी सर्टिफ़िकेट की रिपोर्ट करने के लिए कहता है जो फ़िलहाल उपलब्ध हैं.
  • एक्सटेंशन, setCertificates() तरीके का इस्तेमाल करके, फ़िलहाल उपलब्ध सर्टिफ़िकेट की रिपोर्ट देता है.
  • ब्राउज़र, रिमोट होस्ट से मिले क्लाइंट सर्टिफ़िकेट के अनुरोध के साथ, सभी उपलब्ध सर्टिफ़िकेट को मैच करता है. मैच, उपयोगकर्ता को चुनने के लिए एक डायलॉग बॉक्स में दिखाए जाते हैं.
  • उपयोगकर्ता कोई सर्टिफ़िकेट चुन सकता है और पुष्टि करने की प्रक्रिया को स्वीकार या रद्द कर सकता है.
सर्टिफ़िकेट चुनने का डायलॉग
सर्टिफ़िकेट चुनने का डायलॉग.
  • अगर उपयोगकर्ता पुष्टि की प्रोसेस को रोक देता है या अनुरोध से कोई सर्टिफ़िकेट मेल नहीं खाता है, तो टीएलएस क्लाइंट की पुष्टि की प्रोसेस को रोक दिया जाता है.
  • अगर उपयोगकर्ता इस एक्सटेंशन से मिले सर्टिफ़िकेट की मदद से पुष्टि करने की अनुमति देता है, तो ब्राउज़र, टीएलएस हैंडशेक जारी रखने के लिए, एक्सटेंशन से डेटा पर हस्ताक्षर करने का अनुरोध करता है. अनुरोध, onSignatureRequested इवेंट के तौर पर भेजा जाता है.
  • इस इवेंट में इनपुट डेटा होता है. साथ ही, यह भी बताया जाता है कि हस्ताक्षर जनरेट करने के लिए किस एल्गोरिदम का इस्तेमाल करना है. साथ ही, इस एक्सटेंशन से रिपोर्ट किए गए किसी सर्टिफ़िकेट का रेफ़रंस भी दिया जाता है. एक्सटेंशन को दिए गए डेटा के लिए, रेफ़रंस वाले सर्टिफ़िकेट से जुड़ी निजी पासकोड का इस्तेमाल करके हस्ताक्षर बनाना होगा. हस्ताक्षर बनाने के लिए, हो सकता है कि आपको असल हस्ताक्षर करने से पहले, DigestInfo को पहले जोड़ना पड़े और नतीजे को पैड करना पड़े.
  • एक्सटेंशन, reportSignature() तरीके का इस्तेमाल करके, ब्राउज़र को हस्ताक्षर वापस भेजता है. अगर हस्ताक्षर का हिसाब नहीं लगाया जा सका, तो इस तरीके को हस्ताक्षर के बिना कॉल करना होगा.
  • अगर हस्ताक्षर दिया गया है, तो ब्राउज़र टीएलएस हैंडशेक पूरा करता है.

असल क्रम अलग हो सकता है. उदाहरण के लिए, अगर सर्टिफ़िकेट अपने-आप चुनने की एंटरप्राइज़ नीति का इस्तेमाल किया जाता है, तो उपयोगकर्ता से सर्टिफ़िकेट चुनने के लिए नहीं कहा जाएगा. ज़्यादा जानकारी के लिए, AutoSelectCertificateForUrls और उपयोगकर्ताओं के लिए Chrome की नीतियां देखें.

एक्सटेंशन में, यह इस स्निपेट जैसा दिख सकता है:

function collectAvailableCertificates() {
  // Return all certificates that this Extension can currently provide.
  // For example:
  return [{
    certificateChain: [new Uint8Array(...)],
    supportedAlgorithms: ['RSASSA_PKCS1_v1_5_SHA256']
  }];
}

// The Extension calls this function every time the currently available list of
// certificates changes, and also once after the Extension's initialization.
function onAvailableCertificatesChanged() {
  chrome.certificateProvider.setCertificates({
    clientCertificates: collectAvailableCertificates()
  });
}

function handleCertificatesUpdateRequest(request) {
  // Report the currently available certificates as a response to the request
  // event. This is important for supporting the case when the Extension is
  // unable to detect the changes proactively.
  chrome.certificateProvider.setCertificates({
    certificatesRequestId: request.certificatesRequestId,
    clientCertificates: collectAvailableCertificates()
  });
}

// Returns a private key handle for the given DER-encoded certificate.
// |certificate| is an ArrayBuffer.
function getPrivateKeyHandle(certificate) {...}

// Digests and signs |input| with the given private key. |input| is an
// ArrayBuffer. |algorithm| is an Algorithm.
// Returns the signature as ArrayBuffer.
function signUnhashedData(privateKey, input, algorithm) {...}

function handleSignatureRequest(request) {
  // Look up the handle to the private key of |request.certificate|.
  const key = getPrivateKeyHandle(request.certificate);
  if (!key) {
    // Handle if the key isn't available.
    console.error('Key for requested certificate no available.');

    // Abort the request by reporting the error to the API.
    chrome.certificateProvider.reportSignature({
      signRequestId: request.signRequestId,
      error: 'GENERAL_ERROR'
    });
    return;
  }

  const signature = signUnhashedData(key, request.input, request.algorithm);
  chrome.certificateProvider.reportSignature({
    signRequestId: request.signRequestId,
    signature: signature
  });
}

chrome.certificateProvider.onCertificatesUpdateRequested.addListener(
    handleCertificatesUpdateRequest);
chrome.certificateProvider.onSignatureRequested.addListener(
    handleSignatureRequest);

टाइप

Algorithm

Chrome 86 और उसके बाद के वर्शन

क्रिप्टोग्राफ़िक हस्ताक्षर के लिए इस्तेमाल किए जा सकने वाले एल्गोरिदम के टाइप.

Enum

"RSASSA_PKCS1_v1_5_MD5_SHA1"
MD5-SHA-1 हैशिंग के साथ RSASSA PKCS#1 v1.5 हस्ताक्षर एल्गोरिदम की जानकारी देता है. एक्सटेंशन में DigestInfo प्रीफ़िक्स नहीं होना चाहिए. इसमें सिर्फ़ PKCS#1 पैडिंग जोड़ी जानी चाहिए. इस एल्गोरिदम का इस्तेमाल नहीं किया जा सकता. Chrome के 109 वर्शन से, इसका अनुरोध कभी नहीं किया जाएगा.

"RSASSA_PKCS1_v1_5_SHA1"
SHA-1 हैश फ़ंक्शन के साथ RSASSA PKCS#1 v1.5 सिग्नेचर एल्गोरिदम की जानकारी देता है.

"RSASSA_PKCS1_v1_5_SHA256"
SHA-256 हैशिंग फ़ंक्शन के साथ RSASSA PKCS#1 v1.5 सिग्नेचर एल्गोरिदम की जानकारी देता है.

"RSASSA_PKCS1_v1_5_SHA384"
SHA-384 हैशिंग फ़ंक्शन के साथ RSASSA PKCS#1 v1.5 सिग्नेचर एल्गोरिदम की जानकारी देता है.

"RSASSA_PKCS1_v1_5_SHA512"
SHA-512 हैशिंग फ़ंक्शन के साथ RSASSA PKCS#1 v1.5 सिग्नेचर एल्गोरिदम की जानकारी देता है.

"RSASSA_PSS_SHA256"
SHA-256 हैशिंग फ़ंक्शन, MGF1 मास्क जनरेशन फ़ंक्शन, और हैश के बराबर साइज़ के नमक के साथ RSASSA PSS हस्ताक्षर एल्गोरिदम की जानकारी देता है.

"RSASSA_PSS_SHA384"
SHA-384 हैशिंग फ़ंक्शन, MGF1 मास्क जनरेशन फ़ंक्शन, और हैश के बराबर साइज़ के नमक के साथ RSASSA PSS हस्ताक्षर एल्गोरिदम की जानकारी देता है.

"RSASSA_PSS_SHA512"
SHA-512 हैश फ़ंक्शन, MGF1 मास्क जनरेशन फ़ंक्शन, और हैश के बराबर साइज़ के नमक के साथ RSASSA PSS हस्ताक्षर एल्गोरिदम की जानकारी देता है.

CertificateInfo

प्रॉपर्टी

  • सर्टिफ़िकेट

    ArrayBuffer

    यह X.509 सर्टिफ़िकेट का DER कोड होना चाहिए. फ़िलहाल, सिर्फ़ आरएसए कुंजियों के सर्टिफ़िकेट काम करते हैं.

  • supportedHashes

    इस सर्टिफ़िकेट के लिए काम करने वाले सभी हैश पर सेट होना चाहिए. इस एक्सटेंशन से सिर्फ़ इनमें से किसी एक हैश एल्गोरिदम से कैलकुलेट किए गए डाइजेस्ट के हस्ताक्षर मांगे जाएंगे. यह हैश की प्राथमिकता के घटते क्रम में होना चाहिए.

CertificatesUpdateRequest

Chrome 86 और उसके बाद के वर्शन

प्रॉपर्टी

  • certificatesRequestId

    संख्या

    setCertificates को भेजा जाने वाला अनुरोध आइडेंटिफ़ायर.

ClientCertificateInfo

Chrome 86 और उसके बाद के वर्शन

प्रॉपर्टी

  • certificateChain

    ArrayBuffer[]

    ऐरे में, X.509 क्लाइंट सर्टिफ़िकेट का DER कोड, पहले एलिमेंट के तौर पर होना चाहिए.

    इसमें सिर्फ़ एक सर्टिफ़िकेट शामिल होना चाहिए.

  • supportedAlgorithms

    इस सर्टिफ़िकेट के लिए काम करने वाले सभी एल्गोरिदम. एक्सटेंशन से सिर्फ़ इनमें से किसी एक एल्गोरिदम का इस्तेमाल करके हस्ताक्षर करने के लिए कहा जाएगा.

Error

Chrome 86 और उसके बाद के वर्शन

गड़बड़ियों के ऐसे टाइप जिन्हें एक्सटेंशन रिपोर्ट कर सकता है.

मान

"GENERAL_ERROR"

Hash

समर्थन नहीं होना या रुकना. इसे Algorithm से बदला गया.

Enum

"MD5_SHA1"
MD5 और SHA1 हैशिंग एल्गोरिदम के बारे में बताता है.

"SHA1"
SHA1 हैशिंग एल्गोरिदम के बारे में बताता है.

"SHA256"
SHA256 हैशिंग एल्गोरिदम की जानकारी देता है.

"SHA384"
SHA384 हैशिंग एल्गोरिदम के बारे में बताता है.

"SHA512"
SHA512 हैशिंग एल्गोरिदम के बारे में बताता है.

PinRequestErrorType

Chrome 57 और उसके बाद के वर्शन

requestPin फ़ंक्शन की मदद से, उपयोगकर्ता को दिखने वाली गड़बड़ियों के टाइप.

Enum

"INVALID_PIN"
यह बताता है कि पिन अमान्य है.

"INVALID_PUK"
इससे पता चलता है कि PUK अमान्य है.

"MAX_ATTEMPTS_EXCEEDED"
यह बताता है कि पुष्टि करने की कोशिश करने की तय सीमा पार हो गई है.

"UNKNOWN_ERROR"
इससे पता चलता है कि गड़बड़ी को ऊपर दिए गए टाइप से नहीं दिखाया जा सकता.

PinRequestType

Chrome 57 और उसके बाद के वर्शन

requestPin फ़ंक्शन की मदद से, एक्सटेंशन किस तरह के कोड का अनुरोध कर रहा है.

Enum

"PIN"
यह बताता है कि अनुरोध किया गया कोड एक पिन है.

"PUK"
यह बताता है कि अनुरोध किया गया कोड, PUK है.

PinResponseDetails

Chrome 57 और उसके बाद के वर्शन

प्रॉपर्टी

  • userInput

    स्ट्रिंग ज़रूरी नहीं

    उपयोगकर्ता से मिला कोड. अगर उपयोगकर्ता ने डायलॉग बॉक्स बंद कर दिया है या कोई दूसरी गड़बड़ी हुई है, तो यह खाली होगा.

ReportSignatureDetails

Chrome 86 और उसके बाद के वर्शन

प्रॉपर्टी

  • गड़बड़ी

    "GENERAL_ERROR"
     ज़रूरी नहीं

    हस्ताक्षर जनरेट करते समय हुई गड़बड़ी, अगर कोई हो.

  • signRequestId

    संख्या

    onSignatureRequested इवेंट से मिला अनुरोध आइडेंटिफ़ायर.

  • signature

    ArrayBuffer ज़रूरी नहीं है

    अगर हस्ताक्षर जनरेट हो जाता है, तो हस्ताक्षर.

RequestPinDetails

Chrome 57 और उसके बाद के वर्शन

प्रॉपर्टी

  • attemptsLeft

    number ज़रूरी नहीं

    कोशिशों की संख्या. यह जानकारी इसलिए दी जाती है, ताकि कोई भी यूज़र इंटरफ़ेस (यूआई) उपयोगकर्ता को यह जानकारी दिखा सके. Chrome को यह लागू करने की ज़रूरत नहीं है. इसके बजाय, पिन करने के अनुरोधों की संख्या ज़्यादा होने पर, एक्सटेंशन को stopPinRequest को errorType = MAX_ATTEMPTS_EXCEEDED के साथ कॉल करना चाहिए.

  • errorType

    PinRequestErrorType ज़रूरी नहीं है

    उपयोगकर्ता को दिखाया गया गड़बड़ी का टेंप्लेट. अगर पिछला अनुरोध पूरा नहीं हो पाया है, तो यह सेट किया जाना चाहिए, ताकि उपयोगकर्ता को इसकी वजह की जानकारी दी जा सके.

  • requestType

    PinRequestType ज़रूरी नहीं है

    किस तरह के कोड का अनुरोध किया गया है. डिफ़ॉल्ट रूप से, पिन का इस्तेमाल किया जाता है.

  • signRequestId

    संख्या

    SignRequest में Chrome से मिला आईडी.

SetCertificatesDetails

Chrome 86 और उसके बाद के वर्शन

प्रॉपर्टी

  • certificatesRequestId

    number ज़रूरी नहीं

    onCertificatesUpdateRequested के जवाब में कॉल किए जाने पर, इसमें मिली certificatesRequestId वैल्यू होनी चाहिए. अगर ऐसा नहीं है, तो इसे अनसेट किया जाना चाहिए.

  • clientCertificates

    फ़िलहाल उपलब्ध क्लाइंट सर्टिफ़िकेट की सूची.

  • गड़बड़ी

    "GENERAL_ERROR"
     ज़रूरी नहीं

    सर्टिफ़िकेट निकालते समय हुई गड़बड़ी, अगर कोई हो. ज़रूरत पड़ने पर, उपयोगकर्ता को यह गड़बड़ी दिखेगी.

SignatureRequest

Chrome 86 और उसके बाद के वर्शन

प्रॉपर्टी

  • एल्‍गोरि‍दम

    इस्तेमाल किया जाने वाला सिग्नेचर एल्गोरिदम.

  • सर्टिफ़िकेट

    ArrayBuffer

    X.509 सर्टिफ़िकेट का DER कोड. एक्सटेंशन को, उससे जुड़ी निजी पासकोड का इस्तेमाल करके input पर हस्ताक्षर करना होगा.

  • इनपुट

    ArrayBuffer

    जिस डेटा पर हस्ताक्षर करना है. ध्यान दें कि डेटा को हैश नहीं किया जाता.

  • signRequestId

    संख्या

    reportSignature को भेजा जाने वाला अनुरोध आइडेंटिफ़ायर.

SignRequest

प्रॉपर्टी

  • सर्टिफ़िकेट

    ArrayBuffer

    X.509 सर्टिफ़िकेट का DER कोड. एक्सटेंशन को, उससे जुड़ी निजी पासकोड का इस्तेमाल करके digest पर हस्ताक्षर करना होगा.

  • डाइजेस्ट

    ArrayBuffer

    वह डाइजेस्ट जिस पर हस्ताक्षर करना है.

  • हैश

    digest बनाने के लिए इस्तेमाल किए गए हैश एल्गोरिदम के बारे में बताता है.

  • signRequestId

    संख्या

    Chrome 57 और उसके बाद के वर्शन

    यह एक्सटेंशन के लिए इस्तेमाल किया जाने वाला यूनीक आईडी होता है.अगर एक्सटेंशन को किसी ऐसे तरीके को कॉल करना है जिसके लिए इस आईडी की ज़रूरत होती है, तो यह आईडी इस्तेमाल किया जाता है. जैसे, requestPin.

StopPinRequestDetails

Chrome 57 और उसके बाद के वर्शन

प्रॉपर्टी

  • errorType

    PinRequestErrorType ज़रूरी नहीं है

    गड़बड़ी का टेंप्लेट. अगर यह मौजूद है, तो इसे उपयोगकर्ता को दिखाया जाता है. अगर फ़्लो किसी गड़बड़ी की वजह से रुका है, तो इस एट्रिब्यूट में उसकी वजह बताई जा सकती है. जैसे, MAX_ATTEMPTS_EXCEEDED.

  • signRequestId

    संख्या

    SignRequest में Chrome से मिला आईडी.

तरीके

reportSignature()

Promise Chrome 86 और उसके बाद के वर्शन के लिए
chrome.certificateProvider.reportSignature(
  details: ReportSignatureDetails,
  callback?: function,
)

इसे onSignatureRequested के जवाब के तौर पर कॉल किया जाना चाहिए.

एक्सटेंशन को हर onSignatureRequested इवेंट के लिए, इस फ़ंक्शन को कॉल करना होगा. एपीआई लागू करने की प्रोसेस कुछ समय बाद इस कॉल का इंतज़ार करना बंद कर देगी और इस फ़ंक्शन को कॉल करने पर, टाइम आउट की गड़बड़ी का जवाब देगी.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और उसके बाद के वर्शन

    मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.

requestPin()

Promise Chrome 57 और उसके बाद के वर्शन के लिए
chrome.certificateProvider.requestPin(
  details: RequestPinDetails,
  callback?: function,
)

उपयोगकर्ता से पिन का अनुरोध करता है. एक बार में सिर्फ़ एक अनुरोध किया जा सकता है. किसी दूसरे फ़्लो के चलने के दौरान किए गए अनुरोधों को अस्वीकार कर दिया जाता है. अगर कोई दूसरा फ़्लो चल रहा है, तो बाद में कोशिश करने की ज़िम्मेदारी एक्सटेंशन की होती है.

पैरामीटर

  • विवरण

    इसमें अनुरोध किए गए डायलॉग की जानकारी होती है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    (details?: PinResponseDetails) => void

रिटर्न

  • Promise<PinResponseDetails | undefined>

    Chrome 96 और उसके बाद के वर्शन

    मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.

setCertificates()

Promise Chrome 86 और उसके बाद के वर्शन के लिए
chrome.certificateProvider.setCertificates(
  details: SetCertificatesDetails,
  callback?: function,
)

ब्राउज़र में इस्तेमाल करने के लिए, सर्टिफ़िकेट की सूची सेट करता है.

एक्सटेंशन को शुरू करने के बाद और फ़िलहाल उपलब्ध सर्टिफ़िकेट के सेट में होने वाले हर बदलाव पर, इस फ़ंक्शन को कॉल करना चाहिए. जब भी यह इवेंट मिलेगा, तब एक्सटेंशन को इस फ़ंक्शन को कॉल करना चाहिए.onCertificatesUpdateRequested

पैरामीटर

  • विवरण

    सेट किए जाने वाले सर्टिफ़िकेट. अमान्य सर्टिफ़िकेट को अनदेखा कर दिया जाएगा.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और उसके बाद के वर्शन

    मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.

stopPinRequest()

Promise Chrome 57 और उसके बाद के वर्शन के लिए
chrome.certificateProvider.stopPinRequest(
  details: StopPinRequestDetails,
  callback?: function,
)

requestPin फ़ंक्शन से शुरू किए गए पिन करने के अनुरोध को रोकता है.

पैरामीटर

  • विवरण

    इसमें अनुरोध फ़्लो को रोकने की वजह के बारे में जानकारी होती है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर इस तरह दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और उसके बाद के वर्शन

    मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.

इवेंट

onCertificatesRequested

Chrome 47 और उसके बाद के वर्शन &leq; MV2 Chrome 86 से काम नहीं करता
chrome.certificateProvider.onCertificatesRequested.addListener(
  callback: function,
)

इसके बजाय, onCertificatesUpdateRequested का इस्तेमाल करें.

जब भी ब्राउज़र इस एक्सटेंशन से मिले सर्टिफ़िकेट की मौजूदा सूची का अनुरोध करता है, तब यह इवेंट ट्रिगर होता है. एक्सटेंशन को सर्टिफ़िकेट की मौजूदा सूची के साथ, reportCallback को ठीक एक बार कॉल करना चाहिए.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (reportCallback: function) => void

    • reportCallback

      फ़ंक्शन

      reportCallback पैरामीटर इस तरह दिखता है:

      (certificates: CertificateInfo[], callback: function) => void

      • सर्टिफ़िकेट
      • कॉलबैक

        फ़ंक्शन

        callback पैरामीटर इस तरह दिखता है:

        (rejectedCertificates: ArrayBuffer[]) => void

        • rejectedCertificates

          ArrayBuffer[]

onCertificatesUpdateRequested

Chrome 86 और उसके बाद के वर्शन
chrome.certificateProvider.onCertificatesUpdateRequested.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब setCertificates से सेट किए गए सर्टिफ़िकेट की संख्या कम हो या ब्राउज़र, अपडेट की गई जानकारी का अनुरोध करता हो. एक्सटेंशन को सर्टिफ़िकेट की अपडेट की गई सूची और मिले certificatesRequestId के साथ setCertificates को कॉल करना होगा.

पैरामीटर

onSignatureRequested

Chrome 86 और उसके बाद के वर्शन
chrome.certificateProvider.onSignatureRequested.addListener(
  callback: function,
)

जब भी ब्राउज़र को setCertificates के ज़रिए इस एक्सटेंशन से मिले सर्टिफ़िकेट का इस्तेमाल करके किसी मैसेज पर हस्ताक्षर करना होता है, तब यह इवेंट ट्रिगर होता है.

एक्सटेंशन को सही एल्गोरिदम और निजी कुंजी का इस्तेमाल करके, request से मिले इनपुट डेटा पर हस्ताक्षर करना होगा. साथ ही, signRequestId के साथ reportSignature को कॉल करके, उसे वापस भेजना होगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (request: SignatureRequest) => void

onSignDigestRequested

&leq; MV2 Chrome 86 से अमान्य
chrome.certificateProvider.onSignDigestRequested.addListener(
  callback: function,
)

इसके बजाय, onSignatureRequested का इस्तेमाल करें.

जब भी ब्राउज़र को किसी onCertificatesRequested इवेंट के जवाब में, इस एक्सटेंशन से मिले सर्टिफ़िकेट का इस्तेमाल करके किसी मैसेज पर हस्ताक्षर करना होता है, तब यह इवेंट ट्रिगर होता है. एक्सटेंशन को सही एल्गोरिदम और निजी कुंजी का इस्तेमाल करके, request में डेटा पर हस्ताक्षर करना होगा. साथ ही, reportCallback को कॉल करके उसे वापस भेजना होगा. reportCallback को सिर्फ़ एक बार कॉल किया जाना चाहिए.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर इस तरह दिखता है:

    (request: SignRequest, reportCallback: function) => void

    • CANNOT TRANSLATE
    • reportCallback

      फ़ंक्शन

      Chrome 47 और उसके बाद के वर्शन

      reportCallback पैरामीटर इस तरह दिखता है:

      (signature?: ArrayBuffer) => void

      • signature

        ArrayBuffer ज़रूरी नहीं है