D'Erfahrung am Gebrauch vun Rutoken Technologie fir d'Aschreiwung an d'Autorisatioun vun de Benotzer am System (Deel 2)

Gudde Mëtteg Loosst eis weider mat dësem Thema beschäftegen (Dee virdrun Deel fannt Dir um Link).

Haut gi mer op de prakteschen Deel. Loosst eis ufänken mat Ärer Zertifizéierungsautoritéit opzestellen baséiert op der vollwäerteger Open-Source kryptografescher Bibliothéik openSSL. Dësen Algorithmus gouf mat Windows 7 getest.

Mat OpenSSL installéiert kënne mir verschidde kryptographesch Operatiounen ausféieren (wéi Schlësselen an Zertifikater generéieren) iwwer d'Kommandozeil.

Den Algorithmus vun Aktiounen ass wéi follegt:

  1. Download der Installatioun Verdeelung openssl-1.1.1g.
    openSSL huet verschidde Versiounen. D'Dokumentatioun fir Rutoken huet uginn datt openSSL Versioun 1.1.0 oder spéider erfuerderlech ass. Ech benotzt openssl-1.1.1g Versioun. Dir kënnt openSSL vun der offizieller Websäit eroflueden, awer fir méi einfach Installatioun musst Dir d'Installatiounsdatei fir Windows um Internet fannen. Ech hunn dat fir Iech gemaach: slproweb.com/products/Win32OpenSSL.html
    Dir musst bis ënnen vun der Säit scrollen an Win64 OpenSSL v1.1.1g EXE 63MB Installer eroflueden.
  2. Installéiert openssl-1.1.1g op Ärem Computer.
    D'Installatioun muss mam Standardwee duerchgefouert ginn, deen automatesch am C:Program Files-Ordner spezifizéiert gëtt. De Programm gëtt am OpenSSL-Win64 Dossier installéiert.
  3. Fir openSSL ze konfiguréieren wéi Dir braucht, gëtt et eng Datei openssl.cfg. Dës Datei ass um Wee C:Programm DateienOpenSSL-Win64bin lokaliséiert wann Dir openSSL installéiert hutt wéi am virege Paragraph beschriwwen. Gitt an den Dossier wou openssl.cfg gespäichert ass a öffnen dës Datei mat, zum Beispill, Notizblock ++.
  4. Dir hutt wahrscheinlech geduecht datt d'Opstelle vun engem Zertifizéierungszentrum duerch iergendwéi den Inhalt vun der openssl.cfg Datei geännert gëtt, an Dir sidd absolut Recht. Fir dëst ze maachen, musst Dir de Kommando [ca] konfiguréieren. An der openssl.cfg Datei, den Ufank vum Text, wou mir Ännerunge maachen, fannt Dir als: [ca].
  5. Elo ginn ech e Beispill vun engem Setup mat senger Beschreiwung:
    [ 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
    

    Elo musst Dir den DemoCA Verzeichnis an Ënnerverzeechnungen erstellen, wéi am Beispill hei uewen gewisen. A Plaz et an dësem Verzeechnes laanscht de Wee an dir uginn (Ech hunn / Benotzer / Benotzernumm / bin / openSSLca / demoCA).

    Et ass ganz wichteg Dir richteg anzeginn - dëst ass de Wee an de Verzeechnes wou eis Zertifizéierungsautoritéit wäert sinn. Dëse Verzeechnes muss an /Users sinn (dat heescht an engem Benotzerkont). Wann Dir dëse Verzeechnes, zum Beispill, an C: Programmdateien setzt, wäert de System d'Openssl.cfg Astellungsdatei net gesinn (op d'mannst sou war et fir mech).

    $dir - de Wee an dir spezifizéiert gëtt hei ersat.

    En anere wichtege Punkt ass eng eidel index.txt Datei ze kreéieren; ouni dës Datei funktionnéieren d'"openSSL ca ..." Kommandoen net.

    Dir musst och eng Seriendatei hunn, e Root private Schlëssel (ca.key) an e Root Zertifikat (ca.crt). De Prozess fir dës Dateien ze kréien gëtt hei ënnen beschriwwen.

  6. Mir erméiglechen Verschlësselungsalgorithmen, déi vum Rutoken geliwwert ginn.
    Dës Verbindung geschitt an der openssl.cfg Datei.

    • Als éischt musst Dir déi néideg Rutoken Algorithmen eroflueden. Dëst sinn d'Dateien rtengine.dll, rtpkcs11ecp.dll.
      Fir dëst ze maachen, luet de Rutoken SDK erof: www.rutoken.ru/developers/sdk.

      Rutoken SDK ass alles wat et ass fir Entwéckler déi Rutoken wëllen ausprobéieren. Et gi béid individuell Beispiller fir mat Rutoken a verschiddene Programméierungssproochen ze schaffen, an e puer Bibliothéike ginn presentéiert. Eis Bibliothéiken rtengine.dll an rtpkcs11ecp.dll sinn an Rutoken sdk, respektiv op der Plaz:

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

      E ganz wichtege Punkt. D'Bibliothéiken rtengine.dll, rtpkcs11ecp.dll funktionnéieren net ouni den installéierten Treiber fir Rutoken. Och Rutoken muss mam Computer verbonne sinn. (fir d'Installatioun vun alles wat néideg ass fir Rutoken, kuckt de fréieren Deel vum Artikel habr.com/en/post/506450)

    • D'rtengine.dll an rtpkcs11ecp.dll Bibliothéike kënnen iwwerall am Benotzerkont gehale ginn.
    • Mir registréieren d'Weeër fir dës Bibliothéiken an openssl.cfg. Fir dëst ze maachen, öffnen d'Datei openssl.cfg, am Ufank vun dëser Datei musst Dir d'Linn setzen:
      openssl_conf = openssl_def

      Um Enn vun der Datei musst Dir addéieren:

      [ 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=Aktiv%20Co.;model=Rutoken%20ECP
      default_algorithms = CIPHERS, DIGEST, PKEY, RAND
      

      dynamic_path - Dir musst Äre Wee an d'rtengine.dll Bibliothéik uginn.
      MODULE_PATH - Dir musst Äre Wee op d'rtpkcs11ecp.dll Bibliothéik uginn.

  7. Derbäi Ëmweltvariablen.

    Dir musst eng Ëmweltvariabel derbäisetzen, déi de Wee an d'Openssl.cfg Konfiguratiounsdatei spezifizéiert. A mengem Fall gouf d'OPENSSL_CONF Variabel mam Wee erstallt: Programm DateienOpenSSL-Win64binopenssl.cfg.

    De Wee Variabel muss de Wee an den Dossier enthalen wou openssl.exe läit, a mengem Fall ass et: C: Program FilesOpenSSL-Win64bin.

  8. Elo kënnt Dir op Schrëtt 5 zréckkommen an déi fehlend Dateie fir den demoCA Verzeichnis erstellen.
    1. Déi éischt wichteg Datei ouni déi näischt funktionnéiert ass Serien. Dëst ass e Fichier ouni Extensioun, de Wäert vun deem soll 01 sinn. Dir kënnt dës Datei selwer erstellen a bannen schreiwen 01. Dir kënnt et och vun der Rutoken SDK eroflueden laanscht de Wee sdk/openssl/rtengine/samples/tool/demoCA /.
      Am demoCA Verzeichnis gëtt et eng Seriendatei, dat ass genau dat wat mir brauchen.
    2. Erstellt e root private Schlëssel.
      Fir dëst ze maachen, benotze mir den openSSL Bibliothéik Kommando, deen direkt op der Kommandozeil lafen muss:

      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. Erstellt e Root Zertifikat.
      Fir dëst ze maachen, benotze mir de folgende Kommando aus der openSSL Bibliothéik:

      openssl req -utf8 -x509 -key ca.key -out ca.crt

      Notéiert w.e.g. datt fir e Rootzertifika ze kreéieren, Dir braucht de Root private Schlëssel, deen am virege Schrëtt erstallt gouf. Dofir muss d'Kommandozeil am selwechte Verzeechnes lancéiert ginn.

    All déi fehlend Dateie fir déi komplett Konfiguratioun vum demoCA Verzeichnis sinn elo verfügbar. Setzt déi erstallt Dateien an de Verzeichnisser, déi am Schrëtt 5 spezifizéiert sinn.

Mir huelen un datt nodeems Dir all 8 Punkten ofgeschloss hutt, eisen Zertifizéierungszentrum komplett konfiguréiert ass.

Am nächsten Deel wäert ech Iech soen wéi mir mat der Zertifizéierungsautoritéit schaffen fir dat z'erreechen wat beschriwwe gouf virdrun Deel vum Artikel.

Source: will.com

Setzt e Commentaire