chrome.certificateProvider

রিফ্রেশ তারিখ: ২০২৬-০৯-২৫ রোবটস: নোইনডেক্স

বর্ণনা

এই API ব্যবহার করে প্ল্যাটফর্মে সার্টিফিকেটগুলো উন্মুক্ত করুন, যা প্ল্যাটফর্মটি TLS প্রমাণীকরণের জন্য ব্যবহার করতে পারবে।

অনুমতি

certificateProvider

প্রাপ্যতা

শুধুমাত্র Chrome 46+ এবং ChromeOS এর জন্য

ব্যবহার

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

  • এক্সটেনশনটি 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 not 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

ক্রোম ৮৬+

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

এনাম

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

"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

ক্রোম ৮৬+

বৈশিষ্ট্য

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

    সংখ্যা

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

ClientCertificateInfo

ক্রোম ৮৬+

বৈশিষ্ট্য

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

    অ্যারেবাফার[]

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

    এর সাথে ঠিক একটি সার্টিফিকেট থাকতে হবে।

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

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

Error

ক্রোম ৮৬+

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

মূল্য

"সাধারণ ত্রুটি"

Hash

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

এনাম

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

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

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

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

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

PinRequestErrorType

ক্রোম ৫৭+

requestPin ফাংশনের মাধ্যমে ব্যবহারকারীকে যে ধরনের ত্রুটিগুলো দেখানো যেতে পারে।

এনাম

"অবৈধ_পিন"
পিনটি অবৈধ।

"INVALID_PUK"
নির্দেশ করে যে PUK অবৈধ।

"সর্বোচ্চ প্রচেষ্টা অতিক্রম করা হয়েছে"
সর্বোচ্চ চেষ্টার সংখ্যা অতিক্রম করা হয়েছে তা নির্দেশ করে।

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

PinRequestType

ক্রোম ৫৭+

এক্সটেনশনটি `requestPin` ফাংশনের মাধ্যমে যে ধরনের কোড অনুরোধ করছে।

এনাম

"পিন"
নির্দিষ্ট করে যে অনুরোধ করা কোডটি একটি পিন।

"পিইউকে"
নির্দিষ্ট করে যে অনুরোধকৃত কোডটি একটি PUK।

PinResponseDetails

ক্রোম ৫৭+

বৈশিষ্ট্য

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

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

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

ReportSignatureDetails

ক্রোম ৮৬+

বৈশিষ্ট্য

  • ত্রুটি

    "সাধারণ ত্রুটি"
    ঐচ্ছিক

    স্বাক্ষর তৈরি করার সময় কোনো ত্রুটি ঘটে থাকলে, তা এখানে উল্লেখ করা হলো।

  • সাইন অনুরোধ আইডি

    সংখ্যা

    onSignatureRequested ইভেন্টের মাধ্যমে প্রাপ্ত অনুরোধ শনাক্তকারী।

  • স্বাক্ষর

    অ্যারেবাফার ঐচ্ছিক

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

RequestPinDetails

ক্রোম ৫৭+

বৈশিষ্ট্য

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

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

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

  • ত্রুটির ধরণ

    PinRequestErrorType ঐচ্ছিক

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

  • অনুরোধের ধরণ

    অনুরোধকৃত কোডের ধরন। ডিফল্ট হলো পিন।

  • সাইন অনুরোধ আইডি

    সংখ্যা

    SignRequest-এ Chrome কর্তৃক প্রদত্ত ID।

SetCertificatesDetails

ক্রোম ৮৬+

বৈশিষ্ট্য

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

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

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

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

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

  • ত্রুটি

    "সাধারণ ত্রুটি"
    ঐচ্ছিক

    সার্টিফিকেটগুলো নিষ্কাশন করার সময় কোনো ত্রুটি ঘটলে, তা এখানে দেখানো হবে। প্রয়োজন অনুযায়ী এই ত্রুটিটি ব্যবহারকারীকে জানানো হবে।

SignatureRequest

ক্রোম ৮৬+

বৈশিষ্ট্য

  • অ্যালগরিদম

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

  • সার্টিফিকেট

    অ্যারেবাফার

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

  • ইনপুট

    অ্যারেবাফার

    ডেটা স্বাক্ষরযোগ্য। উল্লেখ্য যে, ডেটা হ্যাশ করা নয়।

  • সাইন অনুরোধ আইডি

    সংখ্যা

    reportSignature এ প্রেরণ করার জন্য অনুরোধ শনাক্তকারী।

SignRequest

বৈশিষ্ট্য

  • সার্টিফিকেট

    অ্যারেবাফার

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

  • সারসংক্ষেপ

    অ্যারেবাফার

    যে সারসংক্ষেপটিতে অবশ্যই স্বাক্ষর করতে হবে।

  • হাশ

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

  • সাইন অনুরোধ আইডি

    সংখ্যা

    ক্রোম ৫৭+

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

StopPinRequestDetails

ক্রোম ৫৭+

বৈশিষ্ট্য

  • ত্রুটির ধরণ

    PinRequestErrorType ঐচ্ছিক

    এরর টেমপ্লেট। এটি উপস্থিত থাকলে ব্যবহারকারীকে দেখানো হয়। কোনো ত্রুটির কারণে ফ্লোটি বন্ধ হয়ে গেলে, তার কারণ এখানে উল্লেখ করার জন্য এটি ব্যবহৃত হয়, যেমন MAX_ATTEMPTS_EXCEEDED।

  • সাইন অনুরোধ আইডি

    সংখ্যা

    SignRequest-এ Chrome কর্তৃক প্রদত্ত ID।

পদ্ধতি

reportSignature()

প্রমিস ক্রোম ৮৬+
chrome.certificateProvider.reportSignature(
  details: ReportSignatureDetails,
  callback?: function,
)
: Promise<void>

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

requestPin()

প্রমিস ক্রোম ৫৭+
chrome.certificateProvider.requestPin(
  details: RequestPinDetails,
  callback?: function,
)
: Promise<PinResponseDetails | undefined>

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি< পিনপ্রতিক্রিয়া বিবরণ | অনির্দিষ্ট>

    ক্রোম ৯৬+

    একটি প্রমিজ রিটার্ন করে যা ব্যবহারকারী পিন প্রদান করলে রিজলভ হয়। যদি ডায়ালগ অনুরোধটি অসফলভাবে শেষ হয় (যেমন, ডায়ালগটি ব্যবহারকারী দ্বারা বাতিল করা হয়েছে বা দেখানোর অনুমতি দেওয়া হয়নি), তবে এটি একটি ত্রুটিসহ রিজেক্ট হয়।

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

setCertificates()

প্রমিস ক্রোম ৮৬+
chrome.certificateProvider.setCertificates(
  details: SetCertificatesDetails,
  callback?: function,
)
: Promise<void>

ব্রাউজারে ব্যবহারের জন্য সার্টিফিকেটগুলোর একটি তালিকা নির্ধারণ করে।

এক্সটেনশনটি ইনিশিয়ালাইজেশনের পরে এবং বর্তমানে উপলব্ধ সার্টিফিকেটের সেটে প্রতিটি পরিবর্তনের সময় এই ফাংশনটি কল করবে। এছাড়াও, যখনই onCertificatesUpdateRequested ইভেন্টটি পাওয়া যাবে, এক্সটেনশনটি তার প্রতিক্রিয়ায়ও এই ফাংশনটি কল করবে।

প্যারামিটার

  • সার্টিফিকেটগুলো সেট করতে হবে। অবৈধ সার্টিফিকেট উপেক্ষা করা হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    একটি প্রমিস ফেরত দেয় যা সম্পন্ন হলে রিজলভ হয়।

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

stopPinRequest()

প্রমিস ক্রোম ৫৭+
chrome.certificateProvider.stopPinRequest(
  details: StopPinRequestDetails,
  callback?: function,
)
: Promise<void>

requestPin ফাংশন দ্বারা শুরু করা পিন অনুরোধটি বন্ধ করে।

প্যারামিটার

  • অনুরোধ প্রবাহ বন্ধ করার কারণ সম্পর্কিত বিস্তারিত তথ্য রয়েছে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    একটি প্রমিজ রিটার্ন করে, যা পিন ডায়ালগ বন্ধ করার অনুরোধটি সম্পন্ন হলে রিজলভ হয়।

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

ইভেন্টগুলি

onCertificatesRequested

Chrome 47+ ≤ MV2 ( Chrome 86 থেকে বাতিল )
chrome.certificateProvider.onCertificatesRequested.addListener(
  callback: function,
)

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (reportCallback: function) => void

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

      ফাংশন

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

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

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

        ফাংশন

        callback প্যারামিটারটি দেখতে এইরকম:

        (rejectedCertificates: ArrayBuffer[]) => void

        • প্রত্যাখ্যাত শংসাপত্র

          অ্যারেবাফার[]

onCertificatesUpdateRequested

ক্রোম ৮৬+
chrome.certificateProvider.onCertificatesUpdateRequested.addListener(
  callback: function,
)

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

প্যারামিটার

onSignatureRequested

ক্রোম ৮৬+
chrome.certificateProvider.onSignatureRequested.addListener(
  callback: function,
)

যখনই ব্রাউজারকে setCertificates মাধ্যমে এই এক্সটেনশন দ্বারা প্রদত্ত একটি সার্টিফিকেট ব্যবহার করে কোনো বার্তা স্বাক্ষর করতে হয়, তখনই এই ইভেন্টটি সক্রিয় হয়।

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

প্যারামিটার

onSignDigestRequested

≤ MV2 ক্রোম ৮৬ থেকে বাতিল করা হয়েছে
chrome.certificateProvider.onSignDigestRequested.addListener(
  callback: function,
)

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

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

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

      ফাংশন

      ক্রোম ৪৭+

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

      (signature?: ArrayBuffer) => void

      • স্বাক্ষর

        অ্যারেবাফার ঐচ্ছিক