chrome.certificateProvider

ब्यौरा

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

अनुमतियां

certificateProvider

उपलब्धता

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

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

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

  • एक्सटेंशन onCertificatesUpdateRequested और onSignatureRequested इवेंट के लिए रजिस्टर होता है.
  • एक्सटेंशन, शुरू होने के बाद सर्टिफ़िकेट की शुरुआती सूची देने के लिए setCertificates() को कॉल करता है.
  • यह एक्सटेंशन, उपलब्ध सर्टिफ़िकेट की सूची में होने वाले बदलावों पर नज़र रखता है. साथ ही, ब्राउज़र को ऐसे हर बदलाव की सूचना देने के लिए, setCertificates() को कॉल करता है.
  • TLS हैंडशेक के दौरान, ब्राउज़र को क्लाइंट सर्टिफ़िकेट का अनुरोध मिलता है. onCertificatesUpdateRequested इवेंट के साथ ब्राउज़र, एक्सटेंशन से उन सभी सर्टिफ़िकेट की रिपोर्ट करने के लिए कहता है जो वह फ़िलहाल उपलब्ध कराता है.
  • एक्सटेंशन, setCertificates() तरीके का इस्तेमाल करके, मौजूदा सर्टिफ़िकेट की मदद से वापस रिपोर्ट करता है.
  • ब्राउज़र, सभी उपलब्ध सर्टिफ़िकेट का मिलान, रिमोट होस्ट से मिले क्लाइंट सर्टिफ़िकेट के अनुरोध से करता है. ये मिलान, उपयोगकर्ता को चुनने के लिए बने डायलॉग बॉक्स में दिखाए जाते हैं.
  • उपयोगकर्ता कोई प्रमाणपत्र चुन सकता है और इस तरह प्रमाणीकरण को स्वीकृत कर सकता है या प्रमाणीकरण को रद्द कर सकता है.
सर्टिफ़िकेट चुनने का डायलॉग बॉक्स
सर्टिफ़िकेट चुनने का डायलॉग बॉक्स.
  • अगर उपयोगकर्ता पुष्टि करने की प्रक्रिया रद्द करता है या अनुरोध से मेल नहीं खाता, तो TLS क्लाइंट की पुष्टि रद्द कर दी जाती है.
  • अगर ऐसा नहीं होता है, तो अगर उपयोगकर्ता इस एक्सटेंशन से मिले सर्टिफ़िकेट के ज़रिए पुष्टि करने की मंज़ूरी देता है, तो ब्राउज़र, टीएलएस हैंडशेक को जारी रखने के लिए, एक्सटेंशन से डेटा पर हस्ताक्षर करने का अनुरोध करता है. अनुरोध को onSignatureRequested इवेंट के तौर पर भेजा गया है.
  • इस इवेंट में इनपुट डेटा शामिल होता है. इससे पता चलता है कि सिग्नेचर जनरेट करने के लिए, कौनसा एल्गोरिदम इस्तेमाल करना है. साथ ही, इस इवेंट में इस एक्सटेंशन के ज़रिए रिपोर्ट किए गए सर्टिफ़िकेट में से कोई एक सर्टिफ़िकेट होता है. एक्सटेंशन को, बताए गए सर्टिफ़िकेट से जुड़ी निजी कुंजी का इस्तेमाल करके, दिए गए डेटा के लिए हस्ताक्षर बनाना होगा. हस्ताक्षर बनाने के लिए, हो सकता है कि आपको DidestInfo की शुरुआत करनी पड़े और वास्तविक हस्ताक्षर से पहले परिणाम की पैडिंग करनी पड़े.
  • एक्सटेंशन, 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 हैशिंग के साथ आरएसएSSA PKCS#1 v1.5 सिग्नेचर एल्गोरिदम तय करता है. एक्सटेंशन को DigetInfo प्रीफ़िक्स नहीं जोड़ना चाहिए, बल्कि सिर्फ़ PKCS#1 पैडिंग को जोड़ना चाहिए. इस एल्गोरिदम के इस्तेमाल पर रोक लगा दी गई है. Chrome के 109 वर्शन के बाद, इस एल्गोरिदम के लिए अनुरोध कभी भी नहीं किया जाएगा.

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

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

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

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

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

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

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

CertificateInfo

प्रॉपर्टी

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

    अरेबफ़र

    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_ ड्राफ़्टS_EXCEEDED"
बताता है कि जितनी बार कोशिश की जा सकती है, उतनी बार कोशिश की जा चुकी है.

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

PinRequestType

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

अनुरोध पिन फ़ंक्शन के साथ एक्सटेंशन के ज़रिए जिस कोड का अनुरोध किया जा रहा है.

Enum

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

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

PinResponseDetails

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

प्रॉपर्टी

  • userInput

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

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

ReportSignatureDetails

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

प्रॉपर्टी

  • गड़बड़ी

    "GENERAL_ERROR"
     वैकल्पिक

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

  • signRequestId

    संख्या

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

  • signature

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

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

RequestPinDetails

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

प्रॉपर्टी

  • attemptsLeft

    नंबर वैकल्पिक

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

  • errorType

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

  • requestType

    PinRequestType ज़रूरी नहीं

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

  • signRequestId

    संख्या

    वह आईडी जो Chrome ने SignRequest में दिया है.

SetCertificatesDetails

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

प्रॉपर्टी

  • certificatesRequestId

    नंबर वैकल्पिक

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

  • clientCertificates

    मौजूदा समय में उपलब्ध क्लाइंट सर्टिफ़िकेट की सूची.

  • गड़बड़ी

    "GENERAL_ERROR"
     वैकल्पिक

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

SignatureRequest

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

प्रॉपर्टी

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

    हस्ताक्षर एल्गोरिदम का इस्तेमाल करना है.

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

    अरेबफ़र

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

  • इनपुट

    अरेबफ़र

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

  • signRequestId

    संख्या

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

SignRequest

प्रॉपर्टी

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

    अरेबफ़र

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

  • डाइजेस्ट

    अरेबफ़र

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

  • हैश

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

  • signRequestId

    संख्या

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

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

StopPinRequestDetails

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

प्रॉपर्टी

  • errorType

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

  • signRequestId

    संख्या

    वह आईडी जो Chrome ने SignRequest में दिया है.

तरीके

reportSignature()

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

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

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

पैरामीटर

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

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

requestPin()

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

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

पैरामीटर

  • विवरण

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (details?: PinResponseDetails) => void

रिटर्न

  • Promise&lt;PinResponseDetails | तय नहीं है>

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

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

setCertificates()

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

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

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

पैरामीटर

  • विवरण

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

stopPinRequest()

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

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

पैरामीटर

  • विवरण

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

इवेंट

onCertificatesRequested

Chrome 47+ &amp;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 से इनपुट डेटा को साइन करना होगा. इसके बाद, reportSignature को कॉल करके मिले signRequestId को कॉल करके उसे वापस करना होगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (request: SignatureRequest) => void

onSignDigestRequested

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