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