EncryptedData

একটি এনক্রিপ্টেড মান এবং ডিক্রিপ্ট করার জন্য প্রয়োজনীয় সমস্ত মেটাডেটা।

JSON উপস্থাপনা
{
  "encryptedValue": string,
  "encapsulatedKey": string,
  "signature": string,
  "recipientKeyId": string
}
ক্ষেত্র
encryptedValue

string

বেস৬৪ এনকোডেড, এনক্রিপ্টেড মান।

encapsulatedKey

string

এনক্রিপ্ট করা মানটি এনক্রিপ্ট করতে ব্যবহৃত বেস৬৪ এনকোডেড কী।

signature

string

প্রাপকের পাবলিক এনক্রিপশন কী-সহ প্লেইনটেক্সট ভ্যালুটির বেস৬৪ এনকোডেড সিগনেচার। যখন এটি ডিভাইস থেকে পাঠানো হয়, তখন এটি ProofOfOwnership ফরম্যাটে একটি COSE_Sign1 অবজেক্ট হবে। এই ফরম্যাটে "চ্যালেঞ্জ" হবে SHA-256(প্লেইনটেক্সট + প্রাপকের পাবলিক কী)। যখন এটি ইস্যুকারী থেকে পাঠানো হয়, তখন এটি একটি স্ট্যান্ডার্ড COSE_Sign1 অবজেক্ট হবে যার পেলোড হবে SHA-256(প্লেইনটেক্সট + প্রাপকের পাবলিক কী)। ProofOfOwnership সম্পর্কে আরও বিস্তারিত জানতে: https://developer.android.com/reference/android/security/identity/IdentityCredential#proveOwnership(byte[] )

recipientKeyId

string

প্রাপকের পাবলিক কী-এর কী আইডি, যা প্রেরক ডেটা এনক্রিপ্ট করতে ব্যবহার করেছেন। এর মান হলো সার্টিফিকেটের সিরিয়াল নম্বর, যা বড় হাতের হেক্স এনকোডিং-এ লেখা থাকে। এটি এনক্যাপসুলেটেড কী-এর কী আইডি নয়। ডিভাইসটি নিশ্চিত করবে যে এই কী আইডিটি ডিক্রিপশনের জন্য ব্যবহৃত কী-এর কী আইডির সাথে মিলে যায়।