DAT

DAT ही बिंदू (.) ने विभक्त केलेली ASCII स्ट्रिंग आहे. फील्ड्स ठरावीक क्रमाने प्रत्येकी एकदा येतात, आणि सही आधीची फील्ड्स पाठवली तशीच आहेत हे तपासते.

expire
uint64 (दशमान)
.
cid
uint64 (षोडशमान)
.
plain
Base64Url
.
secure
Base64Url
.
signature
Base64Url
फील्डचा क्रम आणि विभाजक हे तपशिलाचे भाग आहेत.
text
expire.cid.plain.secure.signature

फील्ड्स

फील्डसादरीकरणअर्थ
expireचिन्हरहित पूर्णांकाचे दशमान रूपDAT कालबाह्य होण्याची Unix time
cidचिन्हरहित पूर्णांकाचे लोअरकेस षोडशमान रूपपडताळणीचा प्रमाणपत्र ID
plainpadding विरहित Base64Urlकूटबद्ध न केलेले बाइट्स
securepadding विरहित Base64Urlप्रमाणपत्राच्या क्रिप्टो अल्गोरिदमने संरक्षित बाइट्स
signaturepadding विरहित Base64Urlexpire.cid.plain.secure च्या मूळ ASCII बाइट्सवरील सही

plain सहीच्या कक्षेत असल्याने बदलता येत नाही, पण कोणीही ते decode करू शकतो. गुपिते, वैयक्तिक माहिती आणि अधिकाराचा निर्णय घेण्यासाठी थेट वापरली जाणारी मूल्ये secure मध्ये ठेवा. रिकामे secure देखील वैध आहे.

कॅनॉनिकल नियम

  • संपूर्ण DAT ASCII असावा.
  • संख्या चिन्ह, रिकामी जागा, prefix आणि अनावश्यक आरंभीच्या 0 विना दर्शवल्या जातात. केवळ 0 हे मूल्य 0 असे लिहिले जाते.
  • Base64Url URL-safe वर्णमाला वापरते; = padding आणि रिकामी जागा मान्य नाही.
  • एकाच बाइट्सना अनेक स्ट्रिंगने दर्शवणारे non-canonical Base64Url नाकारले जाते.
  • फील्ड्सची संख्या किंवा क्रम वेगळा असल्यास तो DAT नाही.

हे नियम वेगवेगळ्या अंमलबजावण्यांना वेगवेगळ्या स्ट्रिंग्स एकच DAT म्हणून स्वीकारण्यापासून रोखतात.

जारी करणे

  1. सध्या जारी करता येणारे प्रमाणपत्र निवडा.
  2. सध्याच्या वेळेत प्रमाणपत्राचा TTL मिळवून expire बनवा.
  3. plain ला Base64Url मध्ये encode करा.
  4. प्रमाणपत्राच्या क्रिप्टो अल्गोरिदमने secure कूटबद्ध करा.
  5. आधीची फील्ड्स बिंदूने जोडून मिळालेल्या ASCII बाइट्सवर सही करा.

केवळ प्रमाणपत्राच्या start <= now <= start + duration जारी कालखंडातच जारी करता येते.

पडताळणी

  1. कॅनॉनिकल नियमानुसार DAT parse करा.
  2. expire > now आहे का तपासा. expire == now म्हणजे कालबाह्य.
  3. cid शी जुळणारे प्रमाणपत्र शोधा आणि ते पडताळणीयोग्य आहे का तपासा.
  4. मूळ expire.cid.plain.secure बाइट्सच्या सहीची पडताळणी करा.
  5. secure चे authentication आणि decryption करून plain सोबत परत करा.

सही न तपासणारा parsing API केवळ निरीक्षण किंवा निदानासाठी वापरा. त्याच्या निकालावरून प्रमाणीकरण किंवा अधिकार देऊ नका.

तपशिलाबाहेरील जबाबदाऱ्या

DAT वापरकर्ता संग्रह, लॉगिन पद्धत, अधिकार मॉडेल, टोकन हस्तांतरण हेडर किंवा revocation list ठरवत नाही. पडताळलेला payload कोणत्या विनंतीला परवानगी देईल हे अॅप्लिकेशन ठरवते.