సిస్టమ్‌లో వినియోగదారులను నమోదు చేయడానికి మరియు అధికారం ఇవ్వడానికి రుటోకెన్ సాంకేతికతను ఉపయోగించడంలో అనుభవం (పార్ట్ 3)

మంచి రోజు!

మునుపటి భాగంలో మేము మా స్వంత ధృవీకరణ కేంద్రాన్ని విజయవంతంగా సృష్టించాము. ఇది మన ప్రయోజనాల కోసం ఎలా ఉపయోగపడుతుంది?

స్థానిక ధృవీకరణ అధికారాన్ని ఉపయోగించి, మేము సర్టిఫికేట్‌లను జారీ చేయవచ్చు మరియు ఈ సర్టిఫికేట్‌లపై సంతకాలను కూడా ధృవీకరించవచ్చు.

వినియోగదారుకు ప్రమాణపత్రాన్ని జారీ చేస్తున్నప్పుడు, ధృవీకరణ అధికారం '.csr' ఫైల్ ఆకృతిని కలిగి ఉన్న ప్రత్యేక సర్టిఫికేట్ అభ్యర్థన Pkcs#10ని ఉపయోగిస్తుంది. ఈ అభ్యర్థన సరిగ్గా అన్వయించడం ఎలాగో ధృవీకరణ అధికారికి తెలిసిన ఎన్‌కోడ్ చేసిన క్రమాన్ని కలిగి ఉంది. అభ్యర్థన సర్టిఫికేట్‌ను రూపొందించడానికి వినియోగదారు యొక్క పబ్లిక్ కీ మరియు డేటా రెండింటినీ కలిగి ఉంటుంది (వినియోగదారు గురించి డేటాతో అనుబంధ శ్రేణి).

మేము తదుపరి వ్యాసంలో సర్టిఫికేట్ కోసం అభ్యర్థనను ఎలా స్వీకరించాలో పరిశీలిస్తాము మరియు ఈ వ్యాసంలో నేను బ్యాకెండ్ వైపు మా పనిని పూర్తి చేయడంలో మాకు సహాయపడే ధృవీకరణ అధికారం యొక్క ప్రధాన ఆదేశాలను ఇవ్వాలనుకుంటున్నాను.

కాబట్టి ముందుగా మనం సర్టిఫికేట్‌ను రూపొందించుకోవాలి. దీన్ని చేయడానికి మేము ఆదేశాన్ని ఉపయోగిస్తాము:

openssl ca -batch -in user.csr -out user.crt

ca అనేది సర్టిఫికేషన్ అథారిటీకి సంబంధించిన openSSL కమాండ్,
-బ్యాచ్ - సర్టిఫికేట్‌ను రూపొందించేటప్పుడు నిర్ధారణ అభ్యర్థనలను రద్దు చేస్తుంది.
user.csr — సర్టిఫికేట్‌ను సృష్టించమని అభ్యర్థన (ఫైల్ .csr ఫార్మాట్‌లో).
user.crt - సర్టిఫికేట్ (కమాండ్ యొక్క ఫలితం).

ఈ ఆదేశం పని చేయడానికి, ధృవీకరణ అధికారం ఖచ్చితంగా వివరించిన విధంగా కాన్ఫిగర్ చేయబడాలి వ్యాసం యొక్క మునుపటి భాగంలో. లేకపోతే, మీరు ధృవీకరణ అధికారం యొక్క రూట్ సర్టిఫికేట్ యొక్క స్థానాన్ని అదనంగా పేర్కొనవలసి ఉంటుంది.

సర్టిఫికేట్ వెరిఫికేషన్ కమాండ్:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/……/demoCA/ca.crt -out data.file

cms అనేది openSSL కమాండ్, ఇది openSSLని ఉపయోగించి సంతకం చేయడం, ధృవీకరించడం, డేటాను గుప్తీకరించడం మరియు ఇతర క్రిప్టోగ్రాఫిక్ కార్యకలాపాల కోసం ఉపయోగించబడుతుంది.

-verify - ఈ సందర్భంలో, మేము ప్రమాణపత్రాన్ని ధృవీకరిస్తాము.

authenticate.cms - మునుపటి ఆదేశం ద్వారా జారీ చేయబడిన సర్టిఫికేట్‌తో సంతకం చేయబడిన డేటాను కలిగి ఉన్న ఫైల్.

-inform PEM - PEM ఫార్మాట్ ఉపయోగించబడుతుంది.

-CAfile /Users/....../demoCA/ca.crt - రూట్ సర్టిఫికేట్‌కు మార్గం. (ఇది లేకుండా ఆదేశం నాకు పని చేయలేదు, అయితే ca.crtకి మార్గాలు openssl.cfg ఫైల్‌లో వ్రాయబడ్డాయి)

-out data.file — నేను decrypt చేయబడిన డేటాను data.file ఫైల్‌కి పంపుతాను.

బ్యాకెండ్ వైపు ధృవీకరణ అధికారాన్ని ఉపయోగించడం కోసం అల్గోరిథం క్రింది విధంగా ఉంది:

  • వినియోగదారు నమోదు:
    1. సర్టిఫికెట్‌ని సృష్టించి, దాన్ని user.csr ఫైల్‌లో సేవ్ చేయమని మేము అభ్యర్థనను స్వీకరిస్తాము.
    2. మేము ఈ కథనం యొక్క మొదటి ఆదేశాన్ని .bat లేదా .cmd పొడిగింపుతో ఫైల్‌కి సేవ్ చేస్తాము. మేము ఈ ఫైల్‌ని కోడ్ నుండి అమలు చేస్తాము, ఇది మునుపు user.csr ఫైల్‌లో సర్టిఫికేట్‌ను సృష్టించాలనే అభ్యర్థనను సేవ్ చేసాము. మేము user.crt ప్రమాణపత్రంతో ఫైల్‌ను స్వీకరిస్తాము.
    3. మేము user.crt ఫైల్‌ని చదివి క్లయింట్‌కి పంపుతాము.

  • వినియోగదారు అధికారం:
    1. మేము క్లయింట్ నుండి సంతకం చేసిన డేటాను స్వీకరిస్తాము మరియు దానిని authenticate.cms ఫైల్‌లో సేవ్ చేస్తాము.
    2. ఈ కథనం యొక్క రెండవ ఆదేశాన్ని .bat లేదా .cmd పొడిగింపుతో ఫైల్‌లో సేవ్ చేయండి. మేము ఈ ఫైల్‌ని మునుపు authenticate.cmsలో సర్వర్ నుండి సంతకం చేసిన డేటాను సేవ్ చేసిన కోడ్ నుండి అమలు చేస్తాము. మేము డీక్రిప్టెడ్ డేటా data.fileతో ఫైల్‌ని స్వీకరిస్తాము.
    3. మేము data.fileని చదివాము మరియు చెల్లుబాటు కోసం ఈ డేటాను తనిఖీ చేస్తాము. సరిగ్గా ఏమి తనిఖీ చేయాలో వివరించబడింది మొదటి వ్యాసంలో. డేటా చెల్లుబాటు అయినట్లయితే, వినియోగదారు అధికారాన్ని విజయవంతంగా పరిగణించవచ్చు.

ఈ అల్గారిథమ్‌లను అమలు చేయడానికి, మీరు బ్యాకెండ్‌ను వ్రాయడానికి ఉపయోగించే ఏదైనా ప్రోగ్రామింగ్ భాషను ఉపయోగించవచ్చు.

తదుపరి కథనంలో మేము Retoken ప్లగ్ఇన్‌తో ఎలా పని చేయాలో చూద్దాం.

Спасибо!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి