Tänään siirrytään käytännön osaan. Aloitetaan määrittämällä varmenneviranomaisesi täysimittaisen avoimen lähdekoodin salauskirjaston openSSL perusteella. Tämä algoritmi on testattu Windows 7:llä.
OpenSSL:n ollessa asennettuna voimme suorittaa erilaisia salaustoimintoja (kuten avainten ja sertifikaattien generointia) komentorivin kautta.
Toimintojen algoritmi on seuraava:
Lataa asennusjakelu openssl-1.1.1g.
openSSL:stä on erilaisia versioita. Rutokenin dokumentaatiossa todettiin, että vaaditaan openSSL-versio 1.1.0 tai uudempi. Käytin openssl-1.1.1g versiota. Voit ladata openSSL:n viralliselta verkkosivustolta, mutta asennuksen helpottamiseksi sinun on löydettävä Windowsin asennustiedosto Internetistä. Tein sinulle tämän: slproweb.com/products/Win32OpenSSL.html
Vieritä sivun alaosaan ja lataa Win64 OpenSSL v1.1.1g EXE 63MB Installer.
Asenna openssl-1.1.1g tietokoneellesi.
Asennus on suoritettava käyttämällä vakiopolkua, joka määritetään automaattisesti C:Program Files -kansiossa. Ohjelma asennetaan OpenSSL-Win64-kansioon.
Jotta voit määrittää openSSL:n tarpeen mukaan, on olemassa tiedosto openssl.cfg. Tämä tiedosto sijaitsee polussa C:Program FilesOpenSSL-Win64bin, jos asensit openSSL:n edellisessä kappaleessa kuvatulla tavalla. Mene kansioon, johon openssl.cfg on tallennettu, ja avaa tämä tiedosto esimerkiksi Notepad++:lla.
Luultavasti arvasit, että varmennekeskuksen konfigurointi tehdään jollakin tavalla muuttamalla openssl.cfg-tiedoston sisältöä, ja olet täysin oikeassa. Tätä varten sinun on määritettävä [ca]-komento. Openssl.cfg-tiedostossa tekstin alku, johon teemme muutoksia, löytyy seuraavasti: [ca].
Annan nyt esimerkin asetuksesta sen kuvauksen kanssa:
Nyt sinun on luotava demoCA-hakemisto ja alihakemistot yllä olevan esimerkin mukaisesti. Ja aseta se tähän hakemistoon dir:ssä määritettyä polkua pitkin (minulla on /Users/username/bin/openSSLca/demoCA).
On erittäin tärkeää kirjoittaa dir oikein - tämä on polku hakemistoon, jossa varmenneviranomaisemme sijaitsee. Tämän hakemiston on sijaittava /Käyttäjät-kansiossa (eli käyttäjätilissä). Jos sijoitat tämän hakemiston esimerkiksi C:Program Files -kansioon, järjestelmä ei näe openssl.cfg-asetustiedostoa (ainakin minulla oli näin).
$dir - dir:ssä määritetty polku korvataan tässä.
Toinen tärkeä asia on luoda tyhjä index.txt-tiedosto, ilman tätä tiedostoa "openSSL ca ..." -komennot eivät toimi.
Sinulla on myös oltava sarjatiedosto, yksityinen juuriavain (ca.key) ja juurivarmenne (ca.crt). Näiden tiedostojen hankintaprosessi kuvataan alla.
Otamme käyttöön Rutokenin tarjoamat salausalgoritmit.
Tämä yhteys tapahtuu openssl.cfg-tiedostossa.
Ensinnäkin sinun on ladattava tarvittavat Rutoken-algoritmit. Nämä ovat tiedostot rtengine.dll, rtpkcs11ecp.dll.
Voit tehdä tämän lataamalla Rutoken SDK:n: www.rutoken.ru/developers/sdk.
Rutoken SDK on kaikki mitä on tarjolla kehittäjille, jotka haluavat kokeilla Rutokenia. On olemassa yksittäisiä esimerkkejä työskentelystä Rutokenin kanssa eri ohjelmointikielillä, ja esitellään joitain kirjastoja. Kirjastomme rtengine.dll ja rtpkcs11ecp.dll sijaitsevat Rutoken sdk:ssä seuraavassa paikassa:
Erittäin tärkeä kohta. Kirjastot rtengine.dll, rtpkcs11ecp.dll eivät toimi ilman asennettua Rutoken-ohjainta. Lisäksi Rutoken on liitettävä tietokoneeseen. (Kaiken Rutokenille tarvittavan asentamiseksi, katso artikkelin edellinen osa habr.com/en/post/506450)
Rtengine.dll- ja rtpkcs11ecp.dll-kirjastot voidaan säilyttää missä tahansa käyttäjätilin kohdassa.
Rekisteröimme polut näihin kirjastoihin openssl.cfg:ssä. Voit tehdä tämän avaamalla tiedoston openssl.cfg, tämän tiedoston alkuun on asetettava rivi:
dynaaminen_polku – sinun on määritettävä polku rtengine.dll-kirjastoon.
MODULE_PATH - sinun on määritettävä polku rtpkcs11ecp.dll-kirjastoon.
Ympäristömuuttujien lisääminen.
Sinun on lisättävä ympäristömuuttuja, joka määrittää polun openssl.cfg-määritystiedostoon. Minun tapauksessani OPENSSL_CONF-muuttuja luotiin polulla C:Program FilesOpenSSL-Win64binopenssl.cfg.
Polkumuuttujan tulee sisältää polku kansioon, jossa openssl.exe sijaitsee, minun tapauksessani se on: C:Program FilesOpenSSL-Win64bin.
Nyt voit palata vaiheeseen 5 ja luoda puuttuvat tiedostot demoCA-hakemistoon.
Ensimmäinen tärkeä tiedosto, jota ilman mikään ei toimi, on sarja. Tämä on tiedosto ilman päätettä, jonka arvon tulee olla 01. Voit luoda tämän tiedoston itse ja kirjoittaa sen sisään 01. Voit myös ladata sen Rutoken SDK:sta polkua sdk/openssl/rtengine/samples/tool/demoCA /.
DemoCA-hakemistossa on sarjatiedosto, joka on juuri se, mitä tarvitsemme.
Luo yksityinen juuriavain.
Tätä varten käytämme openSSL-kirjastokomentoa, joka on suoritettava suoraan komentorivillä:
Luo juurisertifikaatti.
Tätä varten käytämme seuraavaa komentoa openSSL-kirjastosta:
openssl req -utf8 -x509 -key ca.key -out ca.crt
Huomaa, että juurivarmenteen luomiseen tarvitset yksityisen juuriavaimen, joka luotiin edellisessä vaiheessa. Siksi komentorivi on käynnistettävä samassa hakemistossa.
Kaikki demoCA-hakemiston täydelliseen konfigurointiin puuttuvat tiedostot ovat nyt saatavilla. Sijoita luodut tiedostot vaiheessa 5 määritettyihin hakemistoihin.
Oletamme, että kun kaikki 8 pistettä on suoritettu, sertifiointikeskuksemme on täysin konfiguroitu.
Seuraavassa osassa kerron, kuinka teemme yhteistyötä varmenneviranomaisen kanssa saavuttaaksemme sen, mitä on kuvattu artikkelin edellinen osa.