- HTTP অনুরোধ
- অনুরোধের মূল অংশ
- প্রতিক্রিয়া মূল অংশ
- AuthKey সম্পর্কে
- প্রুফঅফপ্রভিশনিং
- মোবাইলসিকিউরিটিঅবজেক্ট
একটি শংসাপত্র সরবরাহের জন্য একটি শেষ বিন্দু।
HTTP অনুরোধ
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
অনুরোধের মূল অংশ
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
| JSON উপস্থাপনা |
|---|
{ "requestMetadata": { object ( |
| ক্ষেত্র | |
|---|---|
requestMetadata | সমস্ত অনুরোধের ক্ষেত্রে প্রয়োজনীয় অনুরোধ সম্পর্কে মেটাডেটা। |
deviceReferenceId | ডিভাইসের সাথে সম্পর্কিত আইডি এবং ডিভাইসের সাথে সম্পর্কিত পরিচয় কী। এটি কোনও ডিভাইস আইডি নয়, অর্থাৎ যদি ব্যবহারকারীর একই ডিভাইসে দুটি পৃথক শংসাপত্র থাকে, তবে এই আইডি তাদের মধ্যে আলাদা হবে। এই আইডিটি সমস্ত অনুরোধে সরবরাহ করা হয় এবং অনুরোধগুলির সাথে সম্পর্ক স্থাপন করতে ব্যবহার করা যেতে পারে। |
credentialId | একটি অস্বচ্ছ শনাক্তকারী যা একটি ডিভাইসে প্রদত্ত একটি নির্দিষ্ট শংসাপত্রের প্রতিনিধিত্ব করে। যেমন: UUID |
authKeys[] | মোবাইল নিরাপত্তা অবজেক্ট হিসেবে ব্যবহার করার জন্য প্রত্যয়িত হতে হবে এমন x509 সার্টিফিকেটের একটি তালিকা। প্রতিটি সার্টিফিকেট ডিভাইসের ক্রেডেনশিয়াল কী দ্বারা স্বাক্ষরিত। |
proofOfProvisioning | ডিভাইস থেকে একটি অবজেক্ট যা প্রমাণ করে যে শংসাপত্রটি সঠিকভাবে সরবরাহ করা হয়েছিল। এর গঠন সম্পর্কে আরও বিস্তারিত জানার জন্য অবজেক্টের সংজ্ঞা দেখুন। দ্রষ্টব্য: শংসাপত্র সরবরাহ করার পরে মোবাইল সুরক্ষা অবজেক্টগুলি সরবরাহ করার সময় কেবল এই অবজেক্টটি সরবরাহ করা হয়। যখন এই পদ্ধতিটি MSO রিফ্রেশের জন্য ব্যবহার করা হয়, তখন এটি সরবরাহ করা হবে না। |
deviceEncryptionKey | ডিভাইসের ক্ষণস্থায়ী এনক্রিপশন কী এবং সংশ্লিষ্ট মেটাডেটা ধারণকারী একটি অবজেক্ট। এই কীটি ডিভাইসে একটি মান এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। অনবোর্ডিংয়ের সময় এই অবজেক্টটি স্যান্ডবক্স পরিবেশে সরবরাহ করা নাও হতে পারে, যার অর্থ ইস্যুকারীকে প্লেইনটেক্সট ডেটা ফেরত পাঠানো উচিত। এটি সর্বদা উৎপাদন পরিবেশে সেট করা উচিত। |
credentialVersionId | ডিভাইসটিতে বর্তমানে যে ক্রেডেনশিয়াল ভার্সন আইডি আছে। পুরনো ক্রেডেনশিয়াল ভার্সনের জন্য মোবাইল সিকিউরিটি অবজেক্ট সরবরাহ করার জন্য এটি ব্যবহার করা উচিত নয়। যদি এটি ইস্যুকারীর রেকর্ডে প্রভিশন করা সবচেয়ে সাম্প্রতিক ভার্সনের সাথে মেলে না, তাহলে InvalidState সহ একটি ErrorResponse ফেরত পাঠানো উচিত। |
প্রতিক্রিয়া মূল অংশ
মোবাইল নিরাপত্তা বস্তুর ব্যবস্থা করার ফলাফল সম্বলিত একটি প্রতিক্রিয়া।
যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:
| JSON উপস্থাপনা |
|---|
{ "responseMetadata": { object ( |
| ক্ষেত্র | |
|---|---|
responseMetadata | সমস্ত প্রতিক্রিয়ার জন্য প্রয়োজনীয় প্রতিক্রিয়া সম্পর্কে মেটাডেটা। |
mobileSecurityObjects[] | প্রস্তুত MobileSecurityObjects এর একটি তালিকা। যদি বর্তমানে কোনও MobileSecurityObjects প্রস্তুত না থাকে তবে এই তালিকাটি খালি থাকতে পারে। |
AuthKey সম্পর্কে
ডিভাইস ক্রেডেনশিয়াল কী দ্বারা স্বাক্ষরিত একটি x509 সার্টিফিকেট, যা ইস্যুকারী কর্তৃক প্রত্যয়িত হবে।
এগুলি অ্যান্ড্রয়েড আইডেন্টিটি ক্রেডেনশিয়াল API থেকে ওয়ালেট দ্বারা পুনরুদ্ধার করা হয় এবং https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification( ) এ আরও নথিভুক্ত করা হয়েছে।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
Union ফিল্ড presencetype । AuthKey কীভাবে উপস্থাপন করা হচ্ছে তা নির্দেশ করে এমন একটি। presencetype নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
encryptedData | মানটি ডিক্রিপ্ট করার জন্য প্রয়োজনীয় এনক্রিপ্ট করা মান এবং এনক্রিপশন মেটাডেটা। |
unencryptedValue | AuthKey-এর base64 এনকোডেড মান। |
প্রুফঅফপ্রভিশনিং
ডিভাইসের ক্রেডেনশিয়াল কী দ্বারা স্বাক্ষরিত একটি COSE_Sign1 স্ট্রাকচার্ড, যা প্রমাণ করে যে সম্পর্কিত ক্রেডেনশিয়ালটি ডিভাইসের সুরক্ষিত স্টোরেজে সঠিকভাবে সরবরাহ করা হয়েছিল।
এই কাঠামোটি অ্যান্ড্রয়েড আইডেন্টিটি ক্রেডেনশিয়াল API দ্বারা সংজ্ঞায়িত করা হয়েছে এবং https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData ) এ আরও নথিভুক্ত করা হয়েছে।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ক্ষেত্রের presencetype । প্রুফঅফপ্রভিশনিং কীভাবে উপস্থাপন করা হচ্ছে তা নির্দেশ করে এমন একটি। presencetype নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
encryptedData | মানটি ডিক্রিপ্ট করার জন্য প্রয়োজনীয় এনক্রিপ্ট করা মান এবং এনক্রিপশন মেটাডেটা। |
unencryptedValue | ProofOfProvisioning-এর বেস৬৪ এনকোডেড মান। |
মোবাইলসিকিউরিটিঅবজেক্ট
একটি অবজেক্ট যা ক্রেডেনশিয়ালে অন্তর্ভুক্ত প্রতিটি ডেটা উপাদান থেকে গণনা করা ডাইজেস্টগুলিকে ধারণ করে। এটি স্ট্যাটিক অথ ডেটা হিসাবে উপস্থাপিত হয়, যা অ্যান্ড্রয়েড আইডেন্টিটি ক্রেডেনশিয়াল লাইব্রেরির জন্য প্রয়োজনীয় ফর্ম্যাট। স্ট্যাটিক অথ ডেটা নির্মাণ সম্পর্কে বিস্তারিত জানার জন্য এটি দেখুন।
| JSON উপস্থাপনা |
|---|
{ "expirationTimeMillis": string, // Union field |
| ক্ষেত্র | |
|---|---|
expirationTimeMillis | একটি টাইমস্ট্যাম্প যা মোবাইল সিকিউরিটি অবজেক্টের মেয়াদ শেষ হওয়ার সময়কে নির্দেশ করে। টাইমস্ট্যাম্পটি ইউনিক্স যুগের পর থেকে মিলিসেকেন্ডের সংখ্যা হিসাবে উপস্থাপন করা হয়। |
ইউনিয়ন ক্ষেত্রের presencetype । প্রমাণপত্র কীভাবে উপস্থাপন করা হচ্ছে তা নির্দেশ করে এমন একটি। presencetype নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
encryptedData | মানটি ডিক্রিপ্ট করার জন্য প্রয়োজনীয় এনক্রিপ্ট করা মান এবং এনক্রিপশন মেটাডেটা। |
unencryptedValue | শংসাপত্রের বেস৬৪ এনকোডেড মান। |