I dag går vi over til den praktiske delen. La oss starte med å sette opp vår CA basert på det fullverdige åpen kildekode kryptografiske biblioteket openSSL. Denne algoritmen er testet med Windows 7.
Med openSSL installert kan vi utføre ulike kryptografiske operasjoner (som å lage nøkler og sertifikater) via kommandolinjen.
Handlingsalgoritmen er som følger:
Last ned installasjonsdistribusjonen openssl-1.1.1g.
openSSL har forskjellige versjoner. Dokumentasjonen for Rutoken sa at openSSL versjon 1.1.0 eller nyere kreves. Jeg brukte openssl-1.1.1g versjon. Du kan laste ned openSSL fra det offisielle nettstedet, men for en enklere installasjon må du finne installasjonsfilen for Windows på nettet. Jeg gjorde dette for deg: slproweb.com/products/Win32OpenSSL.html
Rull ned på siden og last ned Win64 OpenSSL v1.1.1g EXE 63MB Installer.
Installer openssl-1.1.1g på datamaskinen.
Installasjonen må utføres i henhold til standardbanen, som automatisk vises i mappen C: Program Files. Programmet vil bli installert i mappen OpenSSL-Win64.
For å sette opp openSSL slik du trenger det, er det openssl.cfg-filen. Denne filen ligger i C:\Program Files\OpenSSL-Win64bin-banen hvis du installerte openSSL som beskrevet i forrige avsnitt. Gå til mappen der openssl.cfg er lagret og åpne denne filen ved å bruke for eksempel Notepad++.
Du har sikkert gjettet at sertifiseringsmyndigheten vil bli konfigurert på en eller annen måte ved å endre innholdet i openssl.cfg-filen, og du har helt rett. Dette krever tilpasning av [ca]-kommandoen. I openssl.cfg-filen finner du begynnelsen av teksten der vi skal gjøre endringer som: [ ca ].
Nå vil jeg gi et eksempel på en innstilling med beskrivelsen:
Nå må vi lage demoCA-katalogen og underkatalogene som vist i eksempelet ovenfor. Og plasser den i denne katalogen langs banen som er spesifisert i dir (jeg har /Users/brukernavn/bin/openSSLca/demoCA).
Det er veldig viktig å stave dir riktig - dette er banen til katalogen der sertifiseringssenteret vårt vil ligge. Denne katalogen må være plassert i /Users (det vil si på kontoen til en bruker). Hvis du plasserer denne katalogen, for eksempel i C: Program Files, vil ikke systemet se filen med openssl.cfg-innstillingene (det var i alle fall slik for meg).
$dir - banen spesifisert i dir erstattes her.
Et annet viktig poeng er å lage en tom index.txt-fil, uten denne filen vil ikke "openSSL ca ..."-kommandoene fungere.
Du må også ha en seriell fil, en privat rotnøkkel (ca.key), et rotsertifikat (ca.crt). Prosessen med å skaffe disse filene vil bli beskrevet nedenfor.
Vi kobler sammen krypteringsalgoritmene levert av Rutoken.
Denne tilkoblingen finner sted i openssl.cfg-filen.
Først av alt må du laste ned de nødvendige Rutoken-algoritmene. Dette er filene rtengine.dll, rtpkcs11ecp.dll.
For å gjøre dette, last ned Rutoken SDK: www.rutoken.ru/developers/sdk.
Rutoken SDK er alt som finnes for utviklere som vil prøve ut Rutoken. Det finnes både separate eksempler for arbeid med Rutoken i ulike programmeringsspråk, og noen biblioteker er presentert. Bibliotekene våre rtengine.dll og rtpkcs11ecp.dll er plassert i henholdsvis Rutoken sdk på stedet:
Et veldig viktig poeng. Biblioteker rtengine.dll, rtpkcs11ecp.dll fungerer ikke uten den installerte driveren for Rutoken. Også Rutoken må være koblet til datamaskinen. (for å installere alt du trenger for Rutoken, se forrige del av artikkelen habr.com/en/post/506450)
Bibliotekene rtengine.dll og rtpkcs11ecp.dll kan oppbevares hvor som helst i brukerkontoen.
Vi skriver stiene til disse bibliotekene i openssl.cfg. For å gjøre dette, åpne openssl.cfg-filen, sett linjen i begynnelsen av denne filen:
dynamic_path - du må spesifisere banen til rtengine.dll-biblioteket.
MODULE_PATH - du må angi banen til rtpkcs11ecp.dll-biblioteket.
Legge til miljøvariabler.
Sørg for å legge til en miljøvariabel som spesifiserer banen til openssl.cfg-konfigurasjonsfilen. I mitt tilfelle ble OPENSSL_CONF-variabelen opprettet med banen C:Program FilesOpenSSL-Win64binopenssl.cfg.
I stivariabelen må du spesifisere banen til mappen der openssl.exe ligger, i mitt tilfelle er det: C: Program FilesOpenSSL-Win64bin.
Nå kan du gå tilbake til trinn 5 og lage de manglende filene for demoCA-katalogen.
Den første viktige filen som ingenting vil fungere uten er seriell. Dette er en fil uten filtype, hvis verdi skal være 01. Du kan lage denne filen selv og skrive 01 i. Du kan også laste den ned fra Rutoken SDK langs stien sdk/openssl/rtengine/samples/tool/demoCA /.
DemoCA-katalogen inneholder seriefilen, som er akkurat det vi trenger.
Opprett en privat rotnøkkel.
For å gjøre dette bruker vi kommandoen openSSL bibliotek, som må kjøres direkte på kommandolinjen:
Vi lager et rotsertifikat.
For å gjøre dette, bruk følgende openSSL-bibliotekkommando:
openssl req -utf8 -x509 -key ca.key -out ca.crt
Vær oppmerksom på at den private rotnøkkelen, som ble generert i forrige trinn, kreves for å generere rotsertifikatet. Derfor må kommandolinjen startes i samme katalog.
Alt har nå alle de manglende filene for fullstendig konfigurasjon av demoCA-katalogen. Plasser de opprettede filene i katalogene som er angitt i punkt 5.
Vi vil anta at etter å ha fullført alle 8 punktene, er sertifiseringssenteret vårt fullt konfigurert.
I neste del vil jeg beskrive hvordan vi vil samarbeide med sertifiseringsmyndigheten for å oppnå det som er beskrevet i forrige del av artikkelen.