कंपनी का ब्यौरा
इस एपीआई का इस्तेमाल, सर्टिफ़िकेट को उस प्लैटफ़ॉर्म पर दिखाने के लिए करें जो इन सर्टिफ़िकेट का इस्तेमाल TLS की पुष्टि करने के लिए कर सकता है.
अनुमतियां
certificateProvider
उपलब्धता
इस्तेमाल का तरीका
आम तौर पर, 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
काम करने वाले क्रिप्टोग्राफ़िक सिग्नेचर एल्गोरिदम के टाइप.
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
प्रॉपर्टी
-
certificatesRequestId
नंबर
setCertificates
को भेजे जाने के लिए अनुरोध आइडेंटिफ़ायर.
ClientCertificateInfo
प्रॉपर्टी
-
certificateChain
अरेबफ़र[]
कलेक्शन में पहले एलिमेंट के तौर पर, X.509 क्लाइंट सर्टिफ़िकेट की DER एन्कोडिंग होनी चाहिए.
इसमें सिर्फ़ एक सर्टिफ़िकेट होना चाहिए.
-
supportedAlgorithms
इस सर्टिफ़िकेट के लिए इस्तेमाल किए जा सकने वाले सभी एल्गोरिदम. एक्सटेंशन में, सिर्फ़ इनमें से किसी एक एल्गोरिदम का इस्तेमाल करके हस्ताक्षर करने के लिए कहा जाएगा.
Error
ऐसी गड़बड़ियों के टाइप जिनकी रिपोर्ट एक्सटेंशन कर सकता है.
वैल्यू
"GENERAL_ERROR"
Hash
समर्थन नहीं होना या रुकना. Algorithm
से बदला गया.
Enum
"MD5_SHA1"
एमडी5 और SHA1 हैशिंग एल्गोरिदम के बारे में बताता है.
"SHA1"
SHA1 हैशिंग एल्गोरिदम के बारे में बताता है.
"SHA256"
SHA256 हैशिंग एल्गोरिदम के बारे में बताता है.
"SHA384"
SHA384 हैशिंग एल्गोरिदम के बारे में बताता है.
"SHA512"
SHA512 हैशिंग एल्गोरिदम के बारे में बताता है.
PinRequestErrorType
इस तरह की गड़बड़ियां, जो requestPin फ़ंक्शन के ज़रिए उपयोगकर्ता को दिखाई जा सकती हैं.
Enum
"INVALID_PIN"
यह बताता है कि पिन अमान्य है.
"INVALID_PUK"
इससे पता चलता है कि PUK अमान्य है.
"MAX_ATTEMPTS_EXCEEDED"
बताता है कि तय सीमा से ज़्यादा बार कोशिश की जा चुकी है.
"UNKNOWN_ERROR"
बताता है कि गड़बड़ी को ऊपर दिए गए टाइप से नहीं दिखाया जा सकता.
PinRequestType
requestPin फ़ंक्शन के साथ एक्सटेंशन से अनुरोध किए जा रहे कोड का प्रकार.
Enum
"पिन"
यह बताता है कि जिस कोड का अनुरोध किया गया है वह एक पिन है.
"PUK"
बताता है कि अनुरोध किया गया कोड पीयूके है.
PinResponseDetails
प्रॉपर्टी
-
userInput
स्ट्रिंग ज़रूरी नहीं
उपयोगकर्ता से मिला कोड. अगर उपयोगकर्ता ने डायलॉग बंद कर दिया हो या कोई दूसरी गड़बड़ी हुई हो, तो यह फ़ील्ड खाली होता है.
ReportSignatureDetails
प्रॉपर्टी
-
गड़बड़ी
ज़रूरी नहीं
हस्ताक्षर जनरेट करते समय कोई गड़बड़ी हुई.
-
signRequestId
नंबर
onSignatureRequested
इवेंट के ज़रिए मिला अनुरोध आइडेंटिफ़ायर. -
signature
arrayBuffer ज़रूरी नहीं
हस्ताक्षर, अगर सही तरीके से जनरेट हो गया है.
RequestPinDetails
प्रॉपर्टी
-
attemptsLeft
नंबर ज़रूरी नहीं
आपने अब तक कितनी बार कोशिश की है. ऐसा इसलिए किया जाता है, ताकि कोई भी यूज़र इंटरफ़ेस (यूआई) उपयोगकर्ता को यह जानकारी दिखा सके. Chrome से इसे लागू करने की उम्मीद नहीं है. इसके बजाय, पिन अनुरोधों की संख्या पार होने पर ifPinRequest को गड़बड़ी वाले एक्सटेंशन = MAX_ फ़िलहालS_EXCEEDED को कॉल करना चाहिए.
-
errorType
PinRequestErrorType ज़रूरी नहीं
उपयोगकर्ता को दिखने वाला गड़बड़ी टेंप्लेट. अगर पिछला अनुरोध पूरा नहीं हो पाया था, तो इस नीति को सेट किया जाना चाहिए, ताकि उपयोगकर्ता को पुष्टि न हो पाने की वजह के बारे में बताया जा सके.
-
requestType
PinRequestType ज़रूरी नहीं
अनुरोध किए गए कोड का टाइप. डिफ़ॉल्ट पिन है.
-
signRequestId
नंबर
SignRequest में, Chrome से मिला आईडी.
SetCertificatesDetails
प्रॉपर्टी
-
certificatesRequestId
नंबर ज़रूरी नहीं
onCertificatesUpdateRequested
के जवाब में कॉल करने पर, इसमें मिलने वालीcertificatesRequestId
वैल्यू होनी चाहिए. अगर ऐसा नहीं है, तो सेट नहीं करें. -
clientCertificates
वर्तमान में उपलब्ध क्लाइंट सर्टिफ़िकेट की सूची.
-
गड़बड़ी
ज़रूरी नहीं
सर्टिफ़िकेट निकालते समय कोई गड़बड़ी हुई. ज़रूरत पड़ने पर, यह गड़बड़ी उपयोगकर्ता को बताई जाएगी.
SignatureRequest
प्रॉपर्टी
-
एल्गोरिदम
हस्ताक्षर के लिए एल्गोरिदम का इस्तेमाल किया जाना चाहिए.
-
सर्टिफ़िकेट
ArrayBuffer
X.509 सर्टिफ़िकेट की DER एन्कोडिंग. एक्सटेंशन को,
input
पर हस्ताक्षर करने के लिए, इससे जुड़ी निजी कुंजी का इस्तेमाल करना होगा. -
इनपुट
ArrayBuffer
हस्ताक्षर किया जाने वाला डेटा. ध्यान दें कि डेटा हैश नहीं किया जाता है.
-
signRequestId
नंबर
reportSignature
को भेजे जाने के लिए अनुरोध आइडेंटिफ़ायर.
SignRequest
प्रॉपर्टी
-
सर्टिफ़िकेट
ArrayBuffer
X.509 सर्टिफ़िकेट की DER एन्कोडिंग. एक्सटेंशन को,
digest
पर हस्ताक्षर करने के लिए, इससे जुड़ी निजी कुंजी का इस्तेमाल करना होगा. -
डाइजेस्ट
ArrayBuffer
वह डाइजेस्ट जिस पर हस्ताक्षर करना ज़रूरी है.
-
हैश
यह
digest
बनाने के लिए इस्तेमाल किए गए हैश एल्गोरिदम को दिखाता है. -
signRequestId
नंबर
Chrome 57 और इसके बाद के वर्शनएक्सटेंशन के ज़रिए इस्तेमाल किए जाने वाले यूनीक आईडी के लिए ज़रूरी है कि उसे किसी ऐसे तरीके को कॉल किया जाए जिसके लिए यह ज़रूरी है. उदाहरण के लिए, requestPin.
StopPinRequestDetails
प्रॉपर्टी
-
errorType
PinRequestErrorType ज़रूरी नहीं
गड़बड़ी का टेंप्लेट. मौजूद होने पर यह उपयोगकर्ता को दिखता है. अगर फ़्लो किसी गड़बड़ी की वजह से बंद हुआ हो, तो इसमें बताई गई वजह को शामिल करना चाहिए. जैसे, MAX_ APIS_EXCEEDED.
-
signRequestId
नंबर
SignRequest में, Chrome से मिला आईडी.
तरीके
reportSignature()
chrome.certificateProvider.reportSignature(
details: ReportSignatureDetails,
callback?: function,
)
इसे onSignatureRequested
के रिस्पॉन्स के तौर पर कॉल किया जाना चाहिए.
एक्सटेंशन को हर onSignatureRequested
इवेंट के लिए, इस फ़ंक्शन को कॉल करना चाहिए. एपीआई लागू करने की प्रक्रिया कुछ समय बाद, इस कॉल का इंतज़ार करना बंद कर देगी. साथ ही, इस फ़ंक्शन को कॉल करने पर टाइम आउट की गड़बड़ी के साथ जवाब देगी.
पैरामीटर
-
जानकारी
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 96 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
requestPin()
chrome.certificateProvider.requestPin(
details: RequestPinDetails,
callback?: function,
)
उपयोगकर्ता से पिन का अनुरोध करता है. एक बार में सिर्फ़ एक अनुरोध किया जा सकता है. किसी अन्य प्रोसेस के दौरान जारी किए गए अनुरोध अस्वीकार कर दिए जाते हैं. अगर कोई अन्य फ़्लो प्रोसेस हो रहा है, तो बाद में कोशिश करना एक्सटेंशन की ज़िम्मेदारी है.
पैरामीटर
-
जानकारी
इसमें, अनुरोध किए गए डायलॉग बॉक्स की जानकारी होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(details?: PinResponseDetails) => void
-
जानकारी
PinResponseDetails ज़रूरी नहीं
-
लौटाए गए प्रॉडक्ट
-
Promise<PinResponseDetails | undefined>
Chrome 96 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
setCertificates()
chrome.certificateProvider.setCertificates(
details: SetCertificatesDetails,
callback?: function,
)
ब्राउज़र में इस्तेमाल करने के लिए सर्टिफ़िकेट की सूची सेट करता है.
एक्सटेंशन को इस फ़ंक्शन को शुरू करने के बाद और मौजूदा उपलब्ध सर्टिफ़िकेट के सेट में हर बदलाव पर कॉल करना चाहिए. एक्सटेंशन को हर बार यह इवेंट मिलने पर, onCertificatesUpdateRequested
के रिस्पॉन्स के तौर पर इस फ़ंक्शन को भी कॉल करना चाहिए.
पैरामीटर
-
जानकारी
सेट किए जाने वाले सर्टिफ़िकेट. अमान्य सर्टिफ़िकेट को अनदेखा कर दिया जाएगा.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 96 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
stopPinRequest()
chrome.certificateProvider.stopPinRequest(
details: StopPinRequestDetails,
callback?: function,
)
requestPin
फ़ंक्शन से शुरू किए गए पिन के अनुरोध को रोकता है.
पैरामीटर
-
जानकारी
इसमें अनुरोध फ़्लो को रोकने की वजह के बारे में जानकारी होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 96 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onCertificatesRequested
chrome.certificateProvider.onCertificatesRequested.addListener(
callback: function,
)
इसके बजाय, onCertificatesUpdateRequested
का इस्तेमाल करें.
जब भी ब्राउज़र इस एक्सटेंशन से मिले सर्टिफ़िकेट की मौजूदा सूची का अनुरोध करता है, तब यह इवेंट ट्रिगर होता है. एक्सटेंशन को सर्टिफ़िकेट की मौजूदा सूची के साथ, reportCallback
को सिर्फ़ एक बार कॉल करना होगा.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(reportCallback: function) => void
-
reportCallback
function
reportCallback
पैरामीटर ऐसा दिखता है:(certificates: CertificateInfo[], callback: function) => void
-
सर्टिफ़िकेट
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(rejectedCertificates: ArrayBuffer[]) => void
-
rejectedCertificates
अरेबफ़र[]
-
-
-
onCertificatesUpdateRequested
chrome.certificateProvider.onCertificatesUpdateRequested.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब setCertificates
की मदद से सेट किए गए सर्टिफ़िकेट ज़रूरत के मुताबिक नहीं हैं या ब्राउज़र अपडेट की गई जानकारी का अनुरोध करता है. एक्सटेंशन को सर्टिफ़िकेट की अपडेट की गई सूची और मिले certificatesRequestId
के साथ setCertificates
को कॉल करना होगा.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(request: CertificatesUpdateRequest) => void
-
CANNOT TRANSLATE
-
onSignatureRequested
chrome.certificateProvider.onSignatureRequested.addListener(
callback: function,
)
जब भी ब्राउज़र को setCertificates
के ज़रिए इस एक्सटेंशन से मिले सर्टिफ़िकेट का इस्तेमाल करके किसी मैसेज पर हस्ताक्षर करने की ज़रूरत होती है, तब यह इवेंट ट्रिगर होता है.
एक्सटेंशन को सही एल्गोरिदम और निजी कुंजी का इस्तेमाल करके, request
से इनपुट डेटा को साइन करना होगा. साथ ही, मिले signRequestId
के साथ reportSignature
को कॉल करके इसे वापस करना होगा.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(request: SignatureRequest) => void
-
CANNOT TRANSLATE
-
onSignDigestRequested
chrome.certificateProvider.onSignDigestRequested.addListener(
callback: function,
)
इसके बजाय, onSignatureRequested
का इस्तेमाल करें.
जब भी ब्राउज़र को किसी onCertificatesRequested
इवेंट के जवाब में, इस एक्सटेंशन के दिए गए सर्टिफ़िकेट का इस्तेमाल करके मैसेज पर हस्ताक्षर करने की ज़रूरत होती है, तब यह इवेंट ट्रिगर होता है. एक्सटेंशन को सही एल्गोरिदम और निजी कुंजी का इस्तेमाल करके, request
में डेटा को साइन करना होगा और reportCallback
को कॉल करके इसे वापस करना होगा. reportCallback
को सिर्फ़ एक बार कॉल किया जाना चाहिए.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(request: SignRequest, reportCallback: function) => void
-
CANNOT TRANSLATE
-
reportCallback
function
Chrome 47 के बाद के वर्शनreportCallback
पैरामीटर ऐसा दिखता है:(signature?: ArrayBuffer) => void
-
signature
arrayBuffer ज़रूरी नहीं
-
-