Esperienza in l'usu di a tecnulugia Rutoken per a registrazione è l'autorizazione di l'utilizatori in u sistema (parte 2)

Bonghjornu Continuemu à trattà stu tema (A parte precedente pò esse truvata à u ligame).

Oghje andemu à a parte pratica. Cuminciamu per stabilisce a vostra autorità di certificazione basata nantu à a libreria criptografica open-source openSSL. Stu algoritmu hè statu pruvatu cù Windows 7.

Cù openSSL installatu, pudemu eseguisce diverse operazioni criptografiche (cum'è generazione di chjave è certificati) via a linea di cummanda.

L'algoritmu di l'azzioni hè u seguente:

  1. Scaricate a distribuzione di installazione openssl-1.1.1g.
    openSSL hà diverse versioni. A documentazione per Rutoken hà dichjaratu chì openSSL versione 1.1.0 o più tardi hè necessariu. Aghju utilizatu a versione openssl-1.1.1g. Pudete scaricà openSSL da u situ ufficiale, ma per una installazione più faciule, avete bisognu di truvà u schedariu di stallazione per Windows in Internet. Aghju fattu questu per voi: slproweb.com/products/Win32OpenSSL.html
    Avete bisognu di scorri à u fondu di a pagina è scaricate Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. Installa openssl-1.1.1g in u vostru urdinatore.
    A stallazione deve esse realizatu utilizendu a strada standard, chì hè automaticamente specificata in u cartulare C:Program Files. U prugramma serà stallatu in u cartulare OpenSSL-Win64.
  3. Per cunfigurà openSSL cum'è avete bisognu, ci hè un schedariu openssl.cfg. Stu schedariu hè situatu in u percorsu C: Program FilesOpenSSL-Win64bin se avete installatu openSSL cum'è descrittu in u paràgrafu precedente. Andà à u cartulare induve openssl.cfg hè guardatu è apre stu schedariu cù, per esempiu, Notepad ++.
  4. Probabilmente avete indovinatu chì a cunfigurazione di u centru di certificazione serà fatta da qualchì modu cambià u cuntenutu di u schedariu openssl.cfg, è avete assolutamente ragiò. Per fà questu, avete bisognu di cunfigurà u cumandimu [ca]. In u schedariu openssl.cfg, u principiu di u testu induve faremu cambiamenti pò esse truvatu cum'è: [ca].
  5. Avà daraghju un esempiu di una stallazione cù a so descrizzione:
    [ 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
    

    Avà avete bisognu di creà u repertoriu demoCA è i subdirectorii, cum'è mostra in l'esempiu sopra. È mette in questu repertoriu longu u percorsu specificatu in dir (aghju /Users/username/bin/openSSLca/demoCA).

    Hè assai impurtante per entre in dir currettamente - questu hè u percorsu à u repertoriu induve a nostra autorità di certificazione serà situata. Stu repertoriu deve esse situatu in / Users (vale à dì, in un contu d'utilizatore). Se mette stu repertoriu, per esempiu, in C:Program Files, u sistema ùn vede micca u schedariu di paràmetri openssl.cfg (almenu hè cusì per mè).

    $dir - a strada specificata in dir hè sustituita quì.

    Un altru puntu impurtante hè di creà un schedariu index.txt viotu; senza stu schedariu, i cumandamenti "openSSL ca ..." ùn funzionanu micca.

    Avete ancu bisognu di avè un schedariu seriale, una chjave privata di root (ca.key), è un certificatu di root (ca.crt). U prucessu di ottene sti schedari sarà discrittu quì sottu.

  6. Abilitemu l'algoritmi di criptografia furniti da Rutoken.
    Sta cunnessione si trova in u schedariu openssl.cfg.

    • Prima di tuttu, avete bisognu di scaricà l'algoritmi Rutoken necessarii. Quessi sò i schedari rtengine.dll, rtpkcs11ecp.dll.
      Per fà questu, scaricate u Rutoken SDK: www.rutoken.ru/developers/sdk.

      Rutoken SDK hè tuttu ciò chì ci hè per i sviluppatori chì volenu pruvà Rutoken. Ci sò dui esempii individuali per travaglià cù Rutoken in diverse lingue di prugrammazione, è alcune biblioteche sò presentate. I nostri biblioteche rtengine.dll è rtpkcs11ecp.dll si trovanu in Rutoken sdk, rispettivamente à u locu:

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

      Un puntu assai impurtante. E librerie rtengine.dll, rtpkcs11ecp.dll ùn funziona micca senza u driver installatu per Rutoken. Inoltre, Rutoken deve esse cunnessu à l'urdinatore. (per a stallazione di tuttu ciò chì hè necessariu per Rutoken, vede a parte precedente di l'articulu habr.com/en/post/506450)

    • E librerie rtengine.dll è rtpkcs11ecp.dll ponu esse guardate in ogni locu in u contu d'utilizatore.
    • Registramu i percorsi per queste biblioteche in openssl.cfg. Per fà questu, apre u schedariu openssl.cfg, à u principiu di stu schedariu avete bisognu di mette a linea:
      openssl_conf = openssl_def

      À a fine di u schedariu avete bisognu di aghjunghje:

      [ 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 - avete bisognu di specificà u vostru percorsu à a biblioteca rtengine.dll.
      MODULE_PATH - duvete specificà u vostru percorsu à a biblioteca rtpkcs11ecp.dll.

  7. Aghjunghjendu variabili di l'ambiente.

    Avete da aghjunghje una variabile d'ambiente chì specifica u percorsu à u schedariu di cunfigurazione openssl.cfg. In u mo casu, a variabile OPENSSL_CONF hè stata creata cù a strada C: Program FilesOpenSSL-Win64binopenssl.cfg.

    A variabile di u percorsu deve cuntene u percorsu à u cartulare induve si trova openssl.exe, in u mo casu hè: C: Program FilesOpenSSL-Win64bin.

  8. Avà pudete turnà à u passu 5 è creà i fugliali mancanti per u cartulare demoCA.
    1. U primu schedariu impurtante senza chì nunda ùn travaglià hè seriale. Questu hè un schedariu senza estensione, u valore di quale deve esse 01. Pudete creà stu schedariu sè stessu è scrivite 01 in l'internu. Pudete ancu scaricà da u Rutoken SDK longu u percorsu sdk/openssl/rtengine/samples/tool/demoCA. /.
      In u cartulare demoCA ci hè un schedariu seriale, chì hè esattamente ciò chì avemu bisognu.
    2. Crea una chjave privata root.
      Per fà questu, useremu u cumandamentu di a biblioteca openSSL, chì deve esse eseguitu direttamente nantu à a linea di cummanda:

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

    3. Crea un certificatu root.
      Per fà questu, useremu u cumandimu seguitu da a biblioteca openSSL:

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

      Per piacè nutate chì per creà un certificatu radicali, avete bisognu di a chjave privata root, chì hè stata creata in u passu precedente. Per quessa, a linea di cumanda deve esse lanciata in u stessu cartulare.

    Tutti i fugliali mancanti per a cunfigurazione cumpleta di u cartulare demoCA sò avà dispunibili. Pone i schedari creati in i cartulari specificati in u passu 5.

Assumiremu chì dopu avè cumpletu tutti i punti 8, u nostru centru di certificazione hè cumpletamente cunfiguratu.

In a prossima parte vi dicu cumu avemu da travaglià cù l'autorità di certificazione per rializà ciò chì hè statu descrittu in parte precedente di l'articulu.

Source: www.habr.com

Add a comment