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