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

God dag! LÄt oss fortsÀtta att utforska detta Àmne (den föregÄende delen kan du lÀsa hÀr).

Idag gÄr vi vidare till den praktiska delen. Vi börjar med att stÀlla in vÄrt eget certifikatutfÀrdande center baserat pÄ det fullstÀndiga kryptografiska biblioteket openSSL med öppen kÀllkod. Denna algoritm har testats med Windows 7.

NÀr vi har installerat openSSL kan vi utföra olika kryptografiska operationer (till exempel skapa nycklar och certifikat) via kommandoraden.

Stegen Àr som följer:

  1. Ladda ner installationspaketet openssl-1.1.1g.
    Det finns olika versioner av openSSL. I dokumentationen för RookToken nÀmndes att version 1.1.0 eller nyare av openSSL krÀvs. Jag anvÀnde version openssl-1.1.1g. Du kan ladda ner openSSL frÄn den officiella webbplatsen, men för att förenkla installationen Àr det nödvÀndigt att hitta installationsfilen för Windows pÄ nÀtet. Jag har gjort detta Ät dig: slproweb.com/products/Win32OpenSSL.html
    Du behöver blÀddra ner sidan och ladda ner Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. Installera openssl-1.1.1g pÄ datorn.
    Installationen bör genomföras enligt standardvÀgen som automatiskt anges i mappen C:Program Files. Programmet installeras i mappen OpenSSL-Win64.
  3. För att konfigurera openSSL sÄ som du behöver finns det en fil som heter openssl.cfg. Denna fil finns pÄ vÀgen C:Program FilesOpenSSL-Win64bin om du har installerat openSSL som angivet i föregÄende punkt. Navigera till mappen dÀr openssl.cfg ligger och öppna den med exempelvis Notepad++.
  4. Du har sÀkert gissat att instÀllningen av certifikatutfÀrdande centret kommer att göras genom att Àndra innehÄllet i filen openssl.cfg, och det har du helt rÀtt i. För detta krÀvs att kommandot [ ca ] konfigureras. I filen openssl.cfg kan du hitta början av texten dÀr vi ska göra Àndringar som: [ ca ].
  5. Nu kommer jag att ge ett exempel pÄ instÀllningen med beskrivning:
    [ ca ]
    default_ca	= CA_default		
    
     [ CA_default ]
    dir		= /Users/username/bin/openSSLca/demoCA		 
    certs		= $dir/certs		
    crl_dir		= $dir/crl		
    database	= $dir/index.txt	
    new_certs_dir	= $dir/newcerts	
    certificate	= $dir/ca.crt 	
    serial		= $dir/private/serial 		
    crlnumber	= $dir/crlnumber	
    					
    crl		= $dir/crl.pem 		
    private_key	= $dir/private/ca.key
    x509_extensions	= usr_cert
    

    Nu Àr det nödvÀndigt att skapa en katalog demoCA och underkataloger, som visas i exemplet ovan. Och placera i denna katalog pÄ den angivna vÀgen i dir (i mitt fall /Users/username/bin/openSSLca/demoCA).

    Det Ă€r mycket viktigt att korrekt ange dir – det Ă€r sökvĂ€gen till katalogen dĂ€r vĂ„r certifieringsmyndighet kommer att befinna sig. Denna katalog mĂ„ste nödvĂ€ndigtvis ligga i /Users (det vill sĂ€ga i en anvĂ€ndares konto). Om du placerar denna katalog till exempel i C:Program Files, kommer systemet inte att kĂ€nna igen filen med instĂ€llningarna openssl.cfg (Ă„tminstone var det sĂ„ för mig).

    $dir – hĂ€r sĂ€tts sökvĂ€gen som anges i dir.

    Ytterligare en viktig punkt Ă€r att skapa en tom fil index.txt, utan denna fil kommer kommandon som «openSSL ca  » inte att fungera.

    Det Àr ocksÄ nödvÀndigt att ha en fil serial, en rotprivat nyckel (ca.key), en rotcertifikat (ca.crt). Processen för att fÄ dessa filer kommer att beskrivas lÀngre fram.

  6. Vi ansluter krypteringsalgoritmerna som tillhandahÄlls av Rutoken.
    Denna anslutning sker i filen openssl.cfg.
    • Först och frĂ€mst behöver vi ladda ner de nödvĂ€ndiga algoritmerna frĂ„n Rutoken. Det Ă€r filerna rtengine.dll, rtpkcs11ecp.dll.
      För att göra detta laddar vi ner Rutoken SDK: www.rutoken.ru/developers/sdk.

      Rutoken SDK – det Ă€r allt som finns för utvecklare som vill prova Rutoken. DĂ€r finns bĂ„de sĂ€rskilda exempel för arbete med Rutoken pĂ„ olika programmeringssprĂ„k och nĂ„gra bibliotek. VĂ„ra bibliotek rtengine.dll och rtpkcs11ecp.dll finns i Rutoken sdk pĂ„ följande platser:

      sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
      sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll

      En mycket viktig punkt. Biblioteken rtengine.dll, rtpkcs11ecp.dll fungerar inte utan installerad drivrutin för Rutoken. Rutoken mÄste ocksÄ vara ansluten till datorn. (se installationen av allt som behövs för Rutoken i den föregÄende delen av artikeln habr.com/ru/post/506450)

    • Biblioteken rtengine.dll och rtpkcs11ecp.dll kan placeras var som helst i anvĂ€ndarens konto.
    • Vi anger sökvĂ€garna till dessa bibliotek i openssl.cfg. För detta öppnar vi filen openssl.cfg, i början av denna fil mĂ„ste vi placera raden:
      openssl_conf = openssl_def

      I slutet av filen mÄste vi lÀgga till:

      [ openssl_def ]
      engines = engine_section
      [ engine_section ]
      rtengine = gost_section
      [ gost_section ]
      dynamic_path = /Users/username/bin/sdk-rutoken/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
      MODULE_PATH = /Users/username/bin/sdk-rutoken/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll
      RAND_TOKEN = pkcs11:manufacturer=AktivCo.;model=RutokenECP
      default_algorithms = CIPHERS, DIGEST, PKEY, RAND
      

      dynamic_path – det Ă€r nödvĂ€ndigt att ange din egen sökvĂ€g till biblioteket rtengine.dll.
      MODULE_PATH – det Ă€r nödvĂ€ndigt att ange din egen sökvĂ€g till biblioteket rtpkcs11ecp.dll.

  7. Vi lÀgger till miljövariabler.

    Det Àr nödvÀndigt att lÀgga till en miljövariabel som anger sökvÀgen till konfigurationsfilen openssl.cfg. I mitt fall skapades variabeln OPENSSL_CONF med sökvÀgen C:Program FilesOpenSSL-Win64binopenssl.cfg.

    I path-variabeln mÄste sökvÀgen till mappen dÀr openssl.exe finns anges, i mitt fall: C:Program FilesOpenSSL-Win64bin.

  8. Nu kan vi gÄ tillbaka till punkt 5 och skapa de saknade filerna för katalogen demoCA.
    1. Den första viktiga filen utan vilken inget kommer att fungera Àr serial. Detta Àr en fil utan filtillÀgg, vars vÀrde ska vara 01. Du kan skapa denna fil sjÀlv och skriva in 01. Den kan ocksÄ laddas ner frÄn RUTOKEN SDK pÄ sökvÀgen sdk/openssl/rtengine/samples/tool/demoCA/.
      I katalogen demoCA finns filen serial, som vi behöver.
    2. Vi skapar den rotprivata nyckeln.
      För detta kommer vi att anvÀnda kommandot frÄn openSSL-biblioteket, som mÄste köras direkt i kommandoraden:
      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. Vi skapar det rotcertifikatet.
      För detta kommer vi att anvÀnda följande kommando frÄn openSSL-biblioteket:
      openssl req -utf8 -x509 -key ca.key -out ca.crt

      Observera att för att skapa rotcertifikatet krÀvs den rotprivata nyckeln som skapades i föregÄende steg. DÀrför mÄste kommandoraden köras i samma katalog.

    Nu finns alla saknade filer för att helt konfigurera katalogen demoCA. Placera de skapade filerna i de kataloger som angivits i punkt 5.

Vi kommer att anse att vÄrt certifikatmyndighet Àr helt konfigurerad efter att ha utfört alla 8 punkter.

I nÀsta del kommer jag att berÀtta hur vi ska arbeta med certifikatmyndigheten för att utföra det som beskrevs i den föregÄende delen av artikeln.

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