DAT
DAT ही बिंदू (.) ने विभक्त केलेली ASCII स्ट्रिंग आहे. फील्ड्स ठरावीक क्रमाने प्रत्येकी एकदा येतात, आणि सही आधीची फील्ड्स पाठवली तशीच आहेत हे तपासते.
expire.cid.plain.secure.signatureफील्ड्स
| फील्ड | सादरीकरण | अर्थ |
|---|---|---|
expire | चिन्हरहित पूर्णांकाचे दशमान रूप | DAT कालबाह्य होण्याची Unix time |
cid | चिन्हरहित पूर्णांकाचे लोअरकेस षोडशमान रूप | पडताळणीचा प्रमाणपत्र ID |
plain | padding विरहित Base64Url | कूटबद्ध न केलेले बाइट्स |
secure | padding विरहित Base64Url | प्रमाणपत्राच्या क्रिप्टो अल्गोरिदमने संरक्षित बाइट्स |
signature | padding विरहित Base64Url | expire.cid.plain.secure च्या मूळ ASCII बाइट्सवरील सही |
plain सहीच्या कक्षेत असल्याने बदलता येत नाही, पण कोणीही ते decode करू शकतो. गुपिते, वैयक्तिक माहिती आणि अधिकाराचा निर्णय घेण्यासाठी थेट वापरली जाणारी मूल्ये secure मध्ये ठेवा. रिकामे secure देखील वैध आहे.
कॅनॉनिकल नियम
- संपूर्ण DAT ASCII असावा.
- संख्या चिन्ह, रिकामी जागा, prefix आणि अनावश्यक आरंभीच्या
0विना दर्शवल्या जातात. केवळ0हे मूल्य0असे लिहिले जाते. - Base64Url URL-safe वर्णमाला वापरते;
=padding आणि रिकामी जागा मान्य नाही. - एकाच बाइट्सना अनेक स्ट्रिंगने दर्शवणारे non-canonical Base64Url नाकारले जाते.
- फील्ड्सची संख्या किंवा क्रम वेगळा असल्यास तो DAT नाही.
हे नियम वेगवेगळ्या अंमलबजावण्यांना वेगवेगळ्या स्ट्रिंग्स एकच DAT म्हणून स्वीकारण्यापासून रोखतात.
जारी करणे
- सध्या जारी करता येणारे प्रमाणपत्र निवडा.
- सध्याच्या वेळेत प्रमाणपत्राचा TTL मिळवून
expireबनवा. plainला Base64Url मध्ये encode करा.- प्रमाणपत्राच्या क्रिप्टो अल्गोरिदमने
secureकूटबद्ध करा. - आधीची फील्ड्स बिंदूने जोडून मिळालेल्या ASCII बाइट्सवर सही करा.
केवळ प्रमाणपत्राच्या start <= now <= start + duration जारी कालखंडातच जारी करता येते.
पडताळणी
- कॅनॉनिकल नियमानुसार DAT parse करा.
expire > nowआहे का तपासा.expire == nowम्हणजे कालबाह्य.cidशी जुळणारे प्रमाणपत्र शोधा आणि ते पडताळणीयोग्य आहे का तपासा.- मूळ
expire.cid.plain.secureबाइट्सच्या सहीची पडताळणी करा. secureचे authentication आणि decryption करूनplainसोबत परत करा.
सही न तपासणारा parsing API केवळ निरीक्षण किंवा निदानासाठी वापरा. त्याच्या निकालावरून प्रमाणीकरण किंवा अधिकार देऊ नका.
तपशिलाबाहेरील जबाबदाऱ्या
DAT वापरकर्ता संग्रह, लॉगिन पद्धत, अधिकार मॉडेल, टोकन हस्तांतरण हेडर किंवा revocation list ठरवत नाही. पडताळलेला payload कोणत्या विनंतीला परवानगी देईल हे अॅप्लिकेशन ठरवते.