Asset

স্বতন্ত্রভাবে একটি সম্পদ সনাক্ত করে।

একটি ডিজিটাল সম্পদ হল একটি শনাক্তযোগ্য এবং ঠিকানাযোগ্য অনলাইন সত্তা যা সাধারণত কিছু পরিষেবা বা সামগ্রী প্রদান করে। সম্পদের উদাহরণ হল ওয়েবসাইট, অ্যান্ড্রয়েড অ্যাপ, টুইটার ফিড এবং প্লাস পেজ।

JSON প্রতিনিধিত্ব
{
  // Union field, only one of the following:
  "web": {
    object(WebAsset)
  },
  "androidApp": {
    object(AndroidAppAsset)
  },
}
ক্ষেত্র নাম টাইপ বর্ণনা
ইউনিয়ন ক্ষেত্র, নিম্নলিখিতগুলির মধ্যে শুধুমাত্র একটি:
web object( WebAsset ) এটি একটি ওয়েব সম্পদ হলে সেট করুন।
androidApp object( AndroidAppAsset ) এটি একটি Android অ্যাপ সম্পদ কিনা তা সেট করুন।

ওয়েব অ্যাসেট

একটি ওয়েব সম্পদ বর্ণনা করে।

JSON প্রতিনিধিত্ব
{
  "site": string,
}
ক্ষেত্র নাম টাইপ বর্ণনা
site string

ওয়েব সম্পদ একটি URL দ্বারা চিহ্নিত করা হয় যাতে শুধুমাত্র স্কিম, হোস্টনাম এবং পোর্ট অংশ থাকে। ফরম্যাট হল

http[s]://<hostname>[:<port>]

হোস্টনামগুলি সম্পূর্ণরূপে যোগ্য হতে হবে: সেগুলি অবশ্যই একটি একক সময়ের মধ্যে শেষ হবে (" . ")।

শুধুমাত্র "http" এবং "https" স্কিম বর্তমানে অনুমোদিত।

পোর্ট নম্বরগুলি দশমিক সংখ্যা হিসাবে দেওয়া হয় এবং যদি স্ট্যান্ডার্ড পোর্ট নম্বরগুলি ব্যবহার করা হয় তবে সেগুলি অবশ্যই বাদ দিতে হবে: http এর জন্য 80 এবং https এর জন্য 443৷

আমরা এই সীমিত URLটিকে "সাইট" বলি। একই স্কিম, হোস্টনাম এবং পোর্ট শেয়ার করে এমন সমস্ত ইউআরএলকে সাইটের একটি অংশ হিসাবে বিবেচনা করা হয় এবং এইভাবে ওয়েব সম্পদের অন্তর্গত।

উদাহরণ: https://www.google.com সাইটের সম্পদে এই সমস্ত URL রয়েছে:

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@password:www.google.com/

কিন্তু এতে এই URL গুলি নেই:

  • http://www.google.com/ (ভুল স্কিম)
  • https://google.com/ (হোস্টনাম মেলে না)
  • https://www.google.com:444/ (পোর্ট মেলে না) আবশ্যক

AndroidAppAsset

একটি অ্যান্ড্রয়েড অ্যাপ সম্পদ বর্ণনা করে।

JSON প্রতিনিধিত্ব
{
  "packageName": string,
  "certificate": {
    object(CertificateInfo)
  },
}
ক্ষেত্র নাম টাইপ বর্ণনা
packageName string অ্যান্ড্রয়েড অ্যাপ সম্পদ স্বাভাবিকভাবেই তাদের জাভা প্যাকেজ নামের দ্বারা চিহ্নিত করা হয়। উদাহরণস্বরূপ, Google মানচিত্র অ্যাপটি প্যাকেজের নাম com.google.android.apps.maps ব্যবহার করে। প্রয়োজন
certificate object( CertificateInfo )

যেহেতু প্যাকেজ নামের স্বতন্ত্রতার কোনো বিশ্বব্যাপী প্রয়োগ নেই, তাই আমাদের একটি স্বাক্ষর শংসাপত্রও প্রয়োজন, যা প্যাকেজের নামের সাথে একত্রে একটি অ্যাপকে স্বতন্ত্রভাবে সনাক্ত করে।

কিছু অ্যাপ্লিকেশানের সাইনিং কীগুলি ঘোরানো হয়, তাই সময়ের সাথে সাথে সেগুলি বিভিন্ন কী দ্বারা স্বাক্ষরিত হতে পারে৷ আমরা এগুলিকে স্বতন্ত্র সম্পদ হিসাবে বিবেচনা করি, যেহেতু আমরা (প্যাকেজের নাম, শংসাপত্র) অনন্য আইডি হিসাবে ব্যবহার করি। এটি সাধারণত কোনও সমস্যা তৈরি করা উচিত নয় কারণ অ্যাপের উভয় সংস্করণই একই বা অনুরূপ বিবৃতি দেবে। একটি কী ঘোরানো হলে অ্যাপ সম্পর্কে বিবৃতি তৈরি করা অন্যান্য সম্পদ আপডেট করতে হবে।

(উল্লেখ্য যে বিবৃতি প্রকাশ এবং অনুসন্ধানের জন্য সিনট্যাক্সে সিনট্যাকটিক চিনি থাকে যাতে আপনি সহজেই একাধিক শংসাপত্র দ্বারা পরিচিত অ্যাপগুলি নির্দিষ্ট করতে পারেন।) প্রয়োজন

সার্টিফিকেট তথ্য

একটি X509 শংসাপত্র বর্ণনা করে।

JSON প্রতিনিধিত্ব
{
  "sha256Fingerprint": string,
}
ক্ষেত্র নাম টাইপ বর্ণনা
sha256Fingerprint string

শংসাপত্রের বড় হাতের SHA-265 আঙ্গুলের ছাপ। PEM শংসাপত্র থেকে, এটি এইরকম অর্জিত হতে পারে:

$ keytool -printcert -file $CERTFILE | grep SHA256:
SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \
    42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5

বা এই মত:

$ openssl x509 -in $CERTFILE -noout -fingerprint -sha256
SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \
    16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5

এই উদাহরণে, এই ক্ষেত্রের বিষয়বস্তু হবে 14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5

যদি এই সরঞ্জামগুলি আপনার কাছে উপলব্ধ না হয়, আপনি PEM শংসাপত্রটিকে DER ফর্ম্যাটে রূপান্তর করতে পারেন, সেই স্ট্রিংটির SHA-256 হ্যাশ গণনা করতে পারেন এবং ফলাফলটিকে একটি হেক্সস্ট্রিং হিসাবে উপস্থাপন করতে পারেন (অর্থাৎ, কোলন দ্বারা পৃথক করা প্রতিটি অক্টেটের বড় হাতের হেক্সাডেসিমেল উপস্থাপনাগুলি। )