chrome.certificateProvider

ब्यौरा

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

अनुमतियां

certificateProvider

उपलब्धता

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

सिद्धांत और इस्तेमाल

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

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

इन चरणों का असल क्रम अलग हो सकता है. उदाहरण के लिए, अगर एंटरप्राइज़ नीति के तहत, सर्टिफ़िकेट अपने-आप चुनने की सुविधा उपलब्ध है, तो उपयोगकर्ता से सर्टिफ़िकेट चुनने के लिए नहीं कहा जाएगा (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 हैशिंग के साथ आरएसएएसए PKCS#1 v1.5 सिग्नेचर एल्गोरिदम तय करता है. एक्सटेंशन को DigestInfo प्रीफ़िक्स से पहले नहीं जोड़ना चाहिए, बल्कि सिर्फ़ PKCS#1 पैडिंग जोड़ना चाहिए. यह एल्गोरिदम अब सेवा में नहीं है. Chrome के वर्शन 109 के बाद, इसके लिए कभी भी अनुरोध नहीं किया जाएगा.

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

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

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

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

"RSASSA_PSS_SHA256"
SHA-256 हैशिंग फ़ंक्शन, MGF1 मास्क जनरेशन फ़ंक्शन, और हैश के साइज़ के सॉल्ट के साथ आरएसएएसए पीएसएस सिग्नेचर एल्गोरिदम तय करता है.

"RSASSA_PSS_SHA384"
SHA-384 हैशिंग फ़ंक्शन, MGF1 मास्क जनरेशन फ़ंक्शन, और हैश के साइज़ के सॉल्ट के साथ आरएसएएसए पीएसएस सिग्नेचर एल्गोरिदम तय करता है.

"RSASSA_PSS_SHA512"
SHA-512 हैशिंग फ़ंक्शन, MGF1 मास्क जनरेशन फ़ंक्शन, और हैश के साइज़ के सॉल्ट के साथ आरएसएएसए पीएसएस सिग्नेचर एल्गोरिदम तय करता है.

CertificateInfo

प्रॉपर्टी

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

    ArrayBuffer

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

  • supportedHashes

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

CertificatesUpdateRequest

Chrome 86+

प्रॉपर्टी

  • certificatesRequestId

    नंबर

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

ClientCertificateInfo

Chrome 86+

प्रॉपर्टी

  • certificateChain

    अरेबफ़र[]

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

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

  • supportedAlgorithms

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

Error

Chrome 86+

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

वैल्यू

"GENERAL_ERROR"

Hash

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

Enum

"MD5_SHA1"
एमडी5 और 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

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

"PUK"
बताता है कि अनुरोध किया गया कोड पीयूके है.

PinResponseDetails

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

प्रॉपर्टी

  • userInput

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

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

ReportSignatureDetails

Chrome 86+

प्रॉपर्टी

  • गड़बड़ी

     ज़रूरी नहीं

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

  • signRequestId

    नंबर

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

  • signature

    arrayBuffer ज़रूरी नहीं

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

RequestPinDetails

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

प्रॉपर्टी

  • attemptsLeft

    नंबर ज़रूरी नहीं

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

  • errorType

    PinRequestErrorType ज़रूरी नहीं

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

  • requestType

    PinRequestType ज़रूरी नहीं

    अनुरोध किए गए कोड का टाइप. डिफ़ॉल्ट पिन है.

  • signRequestId

    नंबर

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

SetCertificatesDetails

Chrome 86+

प्रॉपर्टी

  • certificatesRequestId

    नंबर ज़रूरी नहीं

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

  • clientCertificates

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

  • गड़बड़ी

     ज़रूरी नहीं

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

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_ APIS_EXCEEDED.

  • signRequestId

    नंबर

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

तरीके

reportSignature()

प्रॉमिस Chrome 86+
chrome.certificateProvider.reportSignature(
  details: ReportSignatureDetails,
  callback?: function,
)

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

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

पैरामीटर

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

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

requestPin()

प्रॉमिस Chrome 57+
chrome.certificateProvider.requestPin(
  details: RequestPinDetails,
  callback?: function,
)

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

पैरामीटर

  • विवरण

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

  • कॉलबैक

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

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

    (details?: PinResponseDetails)=>void

रिटर्न

  • वादा<PinResponseDetails|undefined>

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

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

setCertificates()

प्रॉमिस Chrome 86+
chrome.certificateProvider.setCertificates(
  details: SetCertificatesDetails,
  callback?: function,
)

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

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

पैरामीटर

  • विवरण

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

  • कॉलबैक

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

stopPinRequest()

प्रॉमिस Chrome 57+
chrome.certificateProvider.stopPinRequest(
  details: StopPinRequestDetails,
  callback?: function,
)

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

पैरामीटर

  • विवरण

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

  • कॉलबैक

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

इवेंट

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

          अरेबफ़र[]

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 ज़रूरी नहीं