Erfarenhet av att anvÀnda Rutoken-teknologin för registrering och autentisering av anvÀndare i systemet (del 3)

God dag!

I den föregÄende delen Vi har framgÄngsrikt skapat vÄrt certifikatutfÀrdande centrum. Hur kan det egentligen vara till nytta för vÄra syften?

Med hjÀlp av det lokala certifikatutfÀrdande centret kan vi utfÀrda certifikat samt verifiera signaturer pÄ dessa certifikat.

Vid utfĂ€rdandet av ett certifikat anvĂ€nder certifikatutfĂ€rdande centrum en speciell begĂ€ran om certifikatutfĂ€rdande PKCS#10, som har formatet ‘.csr’. Denna begĂ€ran innehĂ„ller en kodad sekvens som certifikatutfĂ€rdande centrum vet hur man korrekt analyserar. BegĂ€ran innehĂ„ller bĂ„de anvĂ€ndarens offentliga nyckel och data för att skapa certifikatet (ett associerat array med anvĂ€ndardata).

Hur man fÄr en begÀran om certifikatutfÀrdande, kommer vi att titta pÄ i nÀsta artikel, men i denna artikel vill jag ge de grundlÀggande kommandona för certifikatutfÀrdande centrum som hjÀlper oss att utföra vÄr uppgift pÄ backend-sidan.

SÄ, först mÄste vi skapa certifikatet. För detta anvÀnder vi kommandot:

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

ca — kommandot openSSL som hĂ€nvisar till certifikatutfĂ€rdande centrum,
-batch — avbryter bekrĂ€ftelsebegĂ€ran vid certifikatgenerering.
user.csr — begĂ€ran om certifikatutfĂ€rdande (fil av formatet .csr).
user.crt — certifikat (resultatet av kommandot).

För att detta kommando ska fungera mÄste certifikatutfÀrdande centrum vara konfigurerat exakt som beskrivits i föregÄende del av artikeln. Om inte, mÄste man ytterligare ange platsen för rotcertifikatet för certifikatutfÀrdande centrum.

Kommandot för verifiering av certifikat:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/

/demoCA/ca.crt -out data.file

cms — kommandot openSSL som anvĂ€nds för signering, verifiering, kryptering av data och andra kryptografiska operationer med openSSL.

-verify — i detta fall utför vi verifieringen av certifikatet.

authenticate.cms — filen som innehĂ„ller de signerade data som certifikatet som utfĂ€rdats av föregĂ„ende kommando.

-inform PEM — anvĂ€nds för PEM-format.

-CAfile /Users/

/demoCA/ca.crt — vĂ€gen till rotcertifikatet. (utan detta fungerade inte mitt kommando, trots att vĂ€garna till ca.crt Ă€r angivna i filen openssl.cfg)

-out data.file — avkrypterade data skickar jag till filen data.file.

Algoritmen för att anvÀnda certifikatutfÀrdande centrum pÄ backend-sidan Àr följande:

  • Registrering av anvĂ€ndare:
    1. Vi fÄr en begÀran om att skapa ett certifikat och sparar det i filen user.csr.
    2. Vi sparar den första kommandot frÄn denna artikel i en fil med filÀndelsen .bat eller .cmd. Vi kör denna fil frÄn koden, efter att ha sparat begÀran om att skapa certifikatet i filen user.csr. Vi fÄr filen med certifikatet user.crt.
    3. Vi lÀser filen user.crt och skickar den till klienten.

  • AnvĂ€ndarautentisering:
    1. Vi fÄr de signerade uppgifterna frÄn klienten och sparar dem i filen authenticate.cms.
    2. Vi sparar den andra kommandot frÄn denna artikel i en fil med filÀndelsen .bat eller .cmd. Vi kör denna fil frÄn koden, efter att ha sparat de signerade uppgifterna frÄn servern i authenticate.cms. Vi fÄr filen med avkrypterade uppgifter data.file.
    3. Vi lÀser data.file och kontrollerar dessa uppgifter för giltighet. Vad som exakt ska kontrolleras beskrivs i den första artikeln. Om uppgifterna Àr giltiga anses anvÀndarautentiseringen vara framgÄngsrik.

För att implementera dessa algoritmer kan vilket programmeringssprÄk som helst som anvÀnds för att skriva backend anvÀndas.

I nÀsta artikel kommer vi att gÄ igenom hur man arbetar med Retoken-plugin.

Tack för uppmÀrksamheten!

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster