EncryptedData

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

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

string

base64 এনকোডেড, এনক্রিপ্ট করা মান। সর্বোচ্চ আকার: 65536 বাইট।

encapsulatedKey

string

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

signature

string

বেস৬৪ এনকোডেড স্বাক্ষরটি প্লেইনটেক্সট মানের সাথে প্রাপকের পাবলিক এনক্রিপশন কী যুক্ত করা হয়েছে। ডিভাইস থেকে এটি পাঠানো হলে, এটি একটি 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

string

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