DAT
పత్రాలు

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
plainప్యాడింగ్ లేని Base64Urlగుప్తీకరించని బైట్‌లు
secureప్యాడింగ్ లేని Base64Urlసర్టిఫికేట్ గుప్తీకరణ అల్గోరిథంతో రక్షించిన బైట్‌లు
signatureప్యాడింగ్ లేని Base64Urlexpire.cid.plain.secure యొక్క అసలు ASCII బైట్‌లపై సంతకం

plain సంతకం పరిధిలో ఉంటుంది కాబట్టి దాన్ని మార్చలేరు, కానీ ఎవరైనా డీకోడ్ చేయగలరు. రహస్యాలు, వ్యక్తిగత సమాచారం, అనుమతులను నిర్ణయించడానికి నేరుగా ఉపయోగించే విలువలను secureలో ఉంచాలి. ఖాళీ secure కూడా చెల్లుతుంది.

ప్రామాణిక రూపం

  • మొత్తం DAT తప్పనిసరిగా ASCII అయి ఉండాలి.
  • సంఖ్యల్లో గుర్తు, ఖాళీ, ఉపసర్గ లేదా అనవసరమైన ముందరి 0లు ఉండకూడదు. 0 విలువను మాత్రమే 0గా రాయాలి.
  • Base64Url URL-safe వర్ణమాలను ఉపయోగించాలి; = ప్యాడింగ్ మరియు ఖాళీలు అనుమతించబడవు.
  • ఒకే బైట్‌లను పలు స్ట్రింగ్‌లుగా చూపించే ప్రామాణికం కాని Base64Urlను తిరస్కరించాలి.
  • ఫీల్డ్‌ల సంఖ్య లేదా క్రమం భిన్నంగా ఉంటే అది DAT కాదు.

ఈ నియమాలు వేర్వేరు అమలులు వేర్వేరు స్ట్రింగ్‌లను ఒకే DATగా అంగీకరించకుండా నిరోధిస్తాయి.

జారీ

  1. ప్రస్తుతం జారీకి ఉపయోగించగల సర్టిఫికేట్‌ను ఎంచుకోండి.
  2. ప్రస్తుత సమయానికి సర్టిఫికేట్ TTLను జోడించి expireను రూపొందించండి.
  3. plainను Base64Urlగా ఎన్‌కోడ్ చేయండి.
  4. సర్టిఫికేట్ గుప్తీకరణ అల్గోరిథంతో secureను గుప్తీకరించండి.
  5. ముందరి ఫీల్డ్‌లను చుక్కలతో కలిపిన ASCII బైట్‌లపై సంతకం చేయండి.

సర్టిఫికేట్ జారీ వ్యవధి start <= now <= start + durationలో మాత్రమే జారీ చేయవచ్చు.

ధృవీకరణ

  1. ప్రామాణిక నియమాల ప్రకారం DATను పార్స్ చేయండి.
  2. expire > now అని నిర్ధారించండి. expire == now అయితే గడువు ముగిసినట్లే.
  3. cidకు చెందిన సర్టిఫికేట్‌ను కనుగొని, అది ధృవీకరణకు అందుబాటులో ఉందో నిర్ధారించండి.
  4. అసలు expire.cid.plain.secure బైట్‌ల సంతకాన్ని ధృవీకరించండి.
  5. secureను ప్రామాణీకరించి, డీక్రిప్ట్ చేసి, plainతో కలిపి తిరిగి ఇవ్వండి.

సంతకాన్ని ధృవీకరించని పార్సింగ్ APIని పరిశీలన లేదా నిర్ధారణ కోసం మాత్రమే ఉపయోగించాలి. దాని ఫలితంతో ప్రామాణీకరణ చేయకూడదు లేదా అనుమతులు మంజూరు చేయకూడదు.

స్పెసిఫికేషన్ పరిధికి వెలుపలి బాధ్యతలు

DAT వినియోగదారు నిల్వ, లాగిన్ విధానం, అనుమతి నమూనా, టోకెన్ పంపే హెడర్ లేదా రద్దు జాబితాను నిర్ణయించదు. ధృవీకరించిన payloadను ఏ అభ్యర్థనలకు అనుమతించాలో అప్లికేషన్ నిర్ణయిస్తుంది.