chrome.certificateProvider

বর্ণনা

প্ল্যাটফর্মে শংসাপত্রগুলি প্রকাশ করতে এই API ব্যবহার করুন যা এই শংসাপত্রগুলি TLS প্রমাণীকরণের জন্য ব্যবহার করতে পারে৷

অনুমতি

certificateProvider

উপস্থিতি

শুধুমাত্র Chrome 46+ ChromeOS

ধারণা এবং ব্যবহার

ChromeOS-এ ক্লায়েন্ট সার্টিফিকেট প্রকাশ করতে এই API-এর সাধারণ ব্যবহার এই পদক্ষেপগুলি অনুসরণ করে:

  • onCertificatesUpdateRequested এবং onSignatureRequested ইভেন্টের জন্য এক্সটেনশন নিবন্ধন করে।
  • এক্সটেনশন কল setCertificates() শুরু করার পরে শংসাপত্রের প্রাথমিক তালিকা প্রদান করতে।
  • এক্সটেনশন উপলব্ধ শংসাপত্রের তালিকার পরিবর্তনগুলি পর্যবেক্ষণ করে এবং এই ধরনের প্রতিটি পরিবর্তন সম্পর্কে ব্রাউজারকে অবহিত করতে setCertificates() কল করে৷
  • একটি TLS হ্যান্ডশেকের সময়, ব্রাউজার একটি ক্লায়েন্ট শংসাপত্রের অনুরোধ পায়। একটি onCertificatesUpdateRequested ইভেন্টের সাথে, ব্রাউজারটি এক্সটেনশনকে বর্তমানে যে সমস্ত শংসাপত্র প্রদান করে তার রিপোর্ট করতে বলে।
  • এক্সটেনশন setCertificates() পদ্ধতি ব্যবহার করে বর্তমানে উপলব্ধ শংসাপত্রের সাথে রিপোর্ট করে।
  • ব্রাউজারটি দূরবর্তী হোস্ট থেকে ক্লায়েন্ট শংসাপত্র অনুরোধের সাথে উপলব্ধ সমস্ত শংসাপত্রের সাথে মেলে। ম্যাচগুলি একটি নির্বাচন ডায়ালগে ব্যবহারকারীর কাছে উপস্থাপন করা হয়।
  • ব্যবহারকারী একটি শংসাপত্র নির্বাচন করতে পারে এবং এর মাধ্যমে প্রমাণীকরণ অনুমোদন করতে পারে বা প্রমাণীকরণ বাতিল করতে পারে।
শংসাপত্র নির্বাচন ডায়ালগ
শংসাপত্র নির্বাচন ডায়ালগ।
  • যদি ব্যবহারকারী প্রমাণীকরণ বাতিল করে বা অনুরোধের সাথে কোনো শংসাপত্র মেলে না, তাহলে TLS ক্লায়েন্ট প্রমাণীকরণ বাতিল করা হয়।
  • অন্যথায়, যদি ব্যবহারকারী এই এক্সটেনশন দ্বারা প্রদত্ত একটি শংসাপত্রের সাথে প্রমাণীকরণ অনুমোদন করে, ব্রাউজারটি TLS হ্যান্ডশেক চালিয়ে যেতে ডেটা সাইন করার জন্য এক্সটেনশনকে অনুরোধ করে। অনুরোধটি একটি onSignatureRequested ইভেন্ট হিসাবে পাঠানো হয়।
  • এই ইভেন্টটিতে ইনপুট ডেটা রয়েছে, স্বাক্ষর তৈরি করতে কোন অ্যালগরিদম ব্যবহার করতে হবে তা ঘোষণা করে এবং এই এক্সটেনশন দ্বারা রিপোর্ট করা শংসাপত্রগুলির একটিকে নির্দেশ করে৷ রেফারেন্স শংসাপত্রের সাথে যুক্ত ব্যক্তিগত কী ব্যবহার করে প্রদত্ত ডেটার জন্য এক্সটেনশনকে একটি স্বাক্ষর তৈরি করতে হবে। স্বাক্ষর তৈরি করার জন্য একটি ডাইজেস্ট ইনফো প্রিপেন্ড করা এবং প্রকৃত স্বাক্ষর করার আগে ফলাফল প্যাডিং প্রয়োজন হতে পারে।
  • এক্সটেনশন 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+

সমর্থিত ক্রিপ্টোগ্রাফিক স্বাক্ষর অ্যালগরিদমের প্রকার।

এনাম

"RSASSA_PKCS1_v1_5_MD5_SHA1"
MD5-SHA-1 হ্যাশিং সহ RSASSA PKCS#1 v1.5 স্বাক্ষর অ্যালগরিদম নির্দিষ্ট করে৷ এক্সটেনশনটি অবশ্যই একটি DigestInfo প্রিফিক্সের আগে থাকবে না কিন্তু শুধুমাত্র PKCS#1 প্যাডিং যোগ করবে। এই অ্যালগরিদমটি বাতিল করা হয়েছে এবং 109 সংস্করণে Chrome দ্বারা কখনই অনুরোধ করা হবে না৷

"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

বৈশিষ্ট্য

  • সনদপত্র

    অ্যারেবাফার

    একটি X.509 শংসাপত্রের DER এনকোডিং হতে হবে৷ বর্তমানে, শুধুমাত্র RSA কীগুলির সার্টিফিকেট সমর্থিত।

  • সমর্থিত হ্যাশ

    এই শংসাপত্রের জন্য সমর্থিত সমস্ত হ্যাশে সেট করা আবশ্যক৷ এই এক্সটেনশনটি শুধুমাত্র এই হ্যাশ অ্যালগরিদমগুলির একটি দিয়ে গণনা করা ডাইজেস্টগুলির স্বাক্ষরের জন্য জিজ্ঞাসা করা হবে৷ এটি হ্যাশ পছন্দ হ্রাস করার জন্য হওয়া উচিত।

CertificatesUpdateRequest

Chrome 86+

বৈশিষ্ট্য

  • সার্টিফিকেট অনুরোধ আইডি

    সংখ্যা

    শনাক্তকারীকে setCertificates পাস করার জন্য অনুরোধ করুন।

ClientCertificateInfo

Chrome 86+

বৈশিষ্ট্য

  • সার্টিফিকেট চেইন

    ArrayBuffer[]

    অ্যারেতে অবশ্যই X.509 ক্লায়েন্ট সার্টিফিকেটের DER এনকোডিং এর প্রথম উপাদান হিসেবে থাকতে হবে।

    এটি অবশ্যই একটি শংসাপত্র অন্তর্ভুক্ত করতে হবে।

  • সমর্থিত অ্যালগরিদম

    এই শংসাপত্রের জন্য সমস্ত অ্যালগরিদম সমর্থিত৷ এক্সটেনশনটি শুধুমাত্র এই অ্যালগরিদমগুলির একটি ব্যবহার করে স্বাক্ষরের জন্য জিজ্ঞাসা করা হবে৷

Error

Chrome 86+

এক্সটেনশন রিপোর্ট করতে পারে এমন ত্রুটির প্রকার।

মান

"GENERAL_ERROR"

Hash

অবচয়। Algorithm দ্বারা প্রতিস্থাপিত।

এনাম

"MD5_SHA1"
MD5 এবং SHA1 হ্যাশিং অ্যালগরিদম নির্দিষ্ট করে।

"SHA1"
SHA1 হ্যাশিং অ্যালগরিদম নির্দিষ্ট করে।

"SHA256"
SHA256 হ্যাশিং অ্যালগরিদম নির্দিষ্ট করে।

"SHA384"
SHA384 হ্যাশিং অ্যালগরিদম নির্দিষ্ট করে।

"SHA512"
SHA512 হ্যাশিং অ্যালগরিদম নির্দিষ্ট করে।

PinRequestErrorType

Chrome 57+

রিকোয়েস্টপিন ফাংশনের মাধ্যমে ব্যবহারকারীর কাছে যে ধরনের ত্রুটি উপস্থাপন করা যেতে পারে।

এনাম

"INVALID_PIN"
উল্লেখ করে যে পিনটি অবৈধ৷

"INVALID_PUK"
উল্লেখ করে যে PUK অবৈধ৷

"MAX_ATTEMPTS_EXCEEDED"
সর্বোচ্চ চেষ্টা সংখ্যা অতিক্রম করা হয়েছে উল্লেখ করুন.

"অজানা ত্রুটি"
উল্লেখ করে যে ত্রুটিটি উপরোক্ত প্রকারের দ্বারা উপস্থাপিত হতে পারে না।

PinRequestType

Chrome 57+

রিকোয়েস্টপিন ফাংশন সহ এক্সটেনশন দ্বারা অনুরোধ করা কোডের ধরন৷

এনাম

"পিন"
অনুরোধ করা কোডটি একটি পিন উল্লেখ করে।

"PUK"
অনুরোধ করা কোডটি একটি PUK উল্লেখ করে৷

PinResponseDetails

Chrome 57+

বৈশিষ্ট্য

  • ব্যবহারকারীর ইনপুট

    স্ট্রিং ঐচ্ছিক

    ব্যবহারকারী দ্বারা প্রদত্ত কোড. ব্যবহারকারী ডায়ালগ বন্ধ করলে বা অন্য কোনো ত্রুটি ঘটলে খালি।

ReportSignatureDetails

Chrome 86+

বৈশিষ্ট্য

  • ত্রুটি

    "GENERAL_ERROR"
    ঐচ্ছিক

    স্বাক্ষর তৈরি করার সময় যে ত্রুটি ঘটেছে, যদি থাকে।

  • সাইন রিকোয়েস্টআইডি

    সংখ্যা

    অনুরোধ শনাক্তকারী যা onSignatureRequested ইভেন্টের মাধ্যমে গৃহীত হয়েছিল।

  • স্বাক্ষর

    ArrayBuffer ঐচ্ছিক

    স্বাক্ষর, যদি সফলভাবে তৈরি করা হয়।

RequestPinDetails

Chrome 57+

বৈশিষ্ট্য

  • প্রচেষ্টা বাম

    সংখ্যা ঐচ্ছিক

    বাকি প্রচেষ্টার সংখ্যা. এটি প্রদান করা হয়েছে যাতে যেকোনো UI ব্যবহারকারীর কাছে এই তথ্য উপস্থাপন করতে পারে। ক্রোম এটি প্রয়োগ করবে বলে আশা করা হচ্ছে না, পরিবর্তে পিন অনুরোধের সংখ্যা অতিক্রম করলে errorType = MAX_ATTEMPTS_EXCEEDED সহ এক্সটেনশন দ্বারা stopPinRequest কল করা উচিত৷

  • ত্রুটির প্রকার

    PinRequestErrorType ঐচ্ছিক

    ব্যবহারকারীর কাছে প্রদর্শিত ত্রুটি টেমপ্লেট। পূর্ববর্তী অনুরোধ ব্যর্থ হলে এটি সেট করা উচিত, ব্যর্থতার কারণ ব্যবহারকারীকে জানানোর জন্য।

  • অনুরোধের প্রকার

    PinRequestType ঐচ্ছিক

    অনুরোধ করা কোড প্রকার. ডিফল্ট হল পিন।

  • সাইন রিকোয়েস্টআইডি

    সংখ্যা

    SignRequest এ Chrome প্রদত্ত আইডি।

SetCertificatesDetails

Chrome 86+

বৈশিষ্ট্য

  • সার্টিফিকেট অনুরোধ আইডি

    সংখ্যা ঐচ্ছিক

    onCertificatesUpdateRequested এর প্রতিক্রিয়ায় কল করা হলে, প্রাপ্ত certificatesRequestId মান থাকা উচিত। অন্যথায়, আনসেট করা উচিত.

  • ক্লায়েন্ট সার্টিফিকেট

    বর্তমানে উপলব্ধ ক্লায়েন্ট সার্টিফিকেটের তালিকা।

  • ত্রুটি

    "GENERAL_ERROR"
    ঐচ্ছিক

    সার্টিফিকেট বের করার সময় যে ত্রুটি ঘটেছে, যদি থাকে। উপযুক্ত হলে এই ত্রুটি ব্যবহারকারীর কাছে প্রকাশ করা হবে।

SignatureRequest

Chrome 86+

বৈশিষ্ট্য

  • অ্যালগরিদম

    স্বাক্ষর অ্যালগরিদম ব্যবহার করতে হবে।

  • সনদপত্র

    অ্যারেবাফার

    একটি X.509 শংসাপত্রের DER এনকোডিং৷ এক্সটেনশনটিকে অবশ্যই সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করে input ইনপুট করতে হবে।

  • ইনপুট

    অ্যারেবাফার

    তথ্য স্বাক্ষর করতে হবে. মনে রাখবেন যে ডেটা হ্যাশ করা হয় না।

  • সাইন রিকোয়েস্টআইডি

    সংখ্যা

    আইডেন্টিফায়ারকে reportSignature পাস করার জন্য অনুরোধ করুন।

SignRequest

বৈশিষ্ট্য

  • সনদপত্র

    অ্যারেবাফার

    একটি X.509 শংসাপত্রের DER এনকোডিং৷ এক্সটেনশনটিকে অবশ্যই সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করে digest স্বাক্ষর করতে হবে।

  • পরিপাক করা

    অ্যারেবাফার

    যে ডাইজেস্টে স্বাক্ষর করতে হবে।

  • হ্যাশ

    হ্যাশ অ্যালগরিদমকে বোঝায় যা digest তৈরি করতে ব্যবহৃত হয়েছিল।

  • সাইন রিকোয়েস্টআইডি

    সংখ্যা

    Chrome 57+

    এক্সটেনশন যে অনন্য আইডি ব্যবহার করবে সেটির প্রয়োজনে এমন একটি পদ্ধতিতে কল করতে হবে, যেমন অনুরোধপিন।

StopPinRequestDetails

Chrome 57+

বৈশিষ্ট্য

  • ত্রুটির প্রকার

    PinRequestErrorType ঐচ্ছিক

    ত্রুটি টেমপ্লেট. উপস্থিত থাকলে তা ব্যবহারকারীর কাছে প্রদর্শিত হয়। যদি কোনো ত্রুটির কারণে প্রবাহ বন্ধ করার কারণ থাকে, যেমন MAX_ATTEMPTS_EXCEEDED.

  • সাইন রিকোয়েস্টআইডি

    সংখ্যা

    SignRequest এ Chrome প্রদত্ত আইডি।

পদ্ধতি

reportSignature()

প্রতিশ্রুতি Chrome 86+
chrome.certificateProvider.reportSignature(
  details: ReportSignatureDetails,
  callback?: function,
)

onSignatureRequested এর প্রতিক্রিয়া হিসাবে ডাকা উচিত।

প্রতিটি onSignatureRequested ইভেন্টের জন্য এক্সটেনশনটিকে শেষ পর্যন্ত এই ফাংশনটি কল করতে হবে; API বাস্তবায়ন কিছু সময়ের পরে এই কলের জন্য অপেক্ষা করা বন্ধ করবে এবং এই ফাংশনটি কল করার সময় একটি টাইমআউট ত্রুটির সাথে প্রতিক্রিয়া জানাবে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 96+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

requestPin()

প্রতিশ্রুতি Chrome 57+
chrome.certificateProvider.requestPin(
  details: RequestPinDetails,
  callback?: function,
)

ব্যবহারকারীর কাছ থেকে পিন অনুরোধ করে। একবারে শুধুমাত্র একটি চলমান অনুরোধ অনুমোদিত। অন্য একটি প্রবাহ চলমান থাকাকালীন জারি করা অনুরোধগুলি প্রত্যাখ্যান করা হয়। অন্য ফ্লো চলমান থাকলে পরে আবার চেষ্টা করার দায়িত্ব এক্সটেনশনের।

পরামিতি

  • বিস্তারিত

    অনুরোধ করা ডায়ালগ সম্পর্কে বিশদ বিবরণ রয়েছে৷

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (details?: PinResponseDetails)=>void

রিটার্নস

  • প্রতিশ্রুতি< 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+ ≤ MV2 ক্রোম 86 থেকে অবরুদ্ধ
chrome.certificateProvider.onCertificatesRequested.addListener(
  callback: function,
)

পরিবর্তে onCertificatesUpdateRequested ব্যবহার করুন।

ব্রাউজার এই এক্সটেনশন দ্বারা প্রদত্ত শংসাপত্রের বর্তমান তালিকার অনুরোধ করার সময় এই ইভেন্টটি ফায়ার করে৷ সার্টিফিকেটের বর্তমান তালিকার সাথে এক্সটেনশনটিকে অবশ্যই একবার reportCallback কল করতে হবে।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (reportCallback: function)=>void

    • রিপোর্ট কলব্যাক

      ফাংশন

      reportCallback প্যারামিটারটি এইরকম দেখাচ্ছে:

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

      • সার্টিফিকেট
      • কলব্যাক

        ফাংশন

        callback প্যারামিটারটি এর মত দেখাচ্ছে:

        (rejectedCertificates: ArrayBuffer[])=>void

        • প্রত্যাখ্যাত সার্টিফিকেট

          ArrayBuffer[]

onCertificatesUpdateRequested

Chrome 86+
chrome.certificateProvider.onCertificatesUpdateRequested.addListener(
  callback: function,
)

setCertificates মাধ্যমে সেট করা শংসাপত্রগুলি অপর্যাপ্ত হলে বা ব্রাউজার আপডেট করা তথ্যের অনুরোধ করলে এই ইভেন্টটি চালু হয়৷ এক্সটেনশনটিকে অবশ্যই setCertificates সাথে সার্টিফিকেটের আপডেট করা তালিকা এবং প্রাপ্ত certificatesRequestId কল করতে হবে।

পরামিতি

onSignatureRequested

Chrome 86+
chrome.certificateProvider.onSignatureRequested.addListener(
  callback: function,
)

setCertificates মাধ্যমে এই এক্সটেনশন দ্বারা প্রদত্ত একটি শংসাপত্র ব্যবহার করে ব্রাউজারকে একটি বার্তা স্বাক্ষর করার প্রয়োজন হলে প্রতিবার এই ইভেন্টটি চালু হয়৷

এক্সটেনশনটিকে অবশ্যই উপযুক্ত অ্যালগরিদম এবং প্রাইভেট কী ব্যবহার করে request থেকে ইনপুট ডেটা সাইন ইন করতে হবে এবং প্রাপ্ত signRequestId সহ reportSignature কল করে এটি ফেরত দিতে হবে।

পরামিতি

onSignDigestRequested

≤ MV2 ক্রোম 86 থেকে অবরুদ্ধ
chrome.certificateProvider.onSignDigestRequested.addListener(
  callback: function,
)

পরিবর্তে onSignatureRequested ব্যবহার করুন।

একটি onCertificatesRequested ইভেন্টের জবাবে এই এক্সটেনশন দ্বারা প্রদত্ত একটি শংসাপত্র ব্যবহার করে ব্রাউজারকে একটি বার্তা স্বাক্ষর করার প্রয়োজন হলে প্রতিবার এই ইভেন্টটি ফায়ার হয়৷ এক্সটেনশনকে অবশ্যই উপযুক্ত অ্যালগরিদম এবং প্রাইভেট কী ব্যবহার করে request ডেটা সাইন ইন করতে হবে এবং reportCallback কল করে তা ফেরত দিতে হবে। reportCallback ঠিক একবার কল করতে হবে।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

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

    • রিপোর্ট কলব্যাক

      ফাংশন

      Chrome 47+

      reportCallback প্যারামিটারটি এর মত দেখাচ্ছে:

      (signature?: ArrayBuffer)=>void

      • স্বাক্ষর

        ArrayBuffer ঐচ্ছিক