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