God dag! LÄt oss fortsÀtta att utforska detta Àmne ().
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:
- 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:
Du behöver blÀddra ner sidan och ladda ner Win64 OpenSSL v1.1.1g EXE 63MB Installer. - 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. - 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++.
- 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 ].
- 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_certNu À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.
- 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: .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.dllEn 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 )
- 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_defI 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, RANDdynamic_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.
- 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.
- 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.
- Nu kan vi gÄ tillbaka till punkt 5 och skapa de saknade filerna för katalogen demoCA.
- 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. - 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 - 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.crtObservera 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.
- 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/.
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 .
KĂ€lla: habr.com
