Tere pÀevast! JÀtkame selle teema uurimist ().
TĂ€na liigume praktilise osa juurde. Alustame oma sertifitseerimiskeskuse seadistamisest tĂ€ieliku avatud lĂ€htekoodiga krĂŒptograafia raamatukogu openSSL pĂ”hjal. Antud algoritm on testitud Windows 7-ga.
OpenSSL-i installimisega saame erinevaid krĂŒptograafilisi operatsioone (nĂ€iteks vĂ”tmete ja sertifikaatide loomine) teostada kĂ€surea kaudu.
Tegevuste jada on jÀrgmine:
- Laadige alla openssl-1.1.1g installikandja.
OpenSSL-il on erinevad versioonid. Ruutokeni dokumentatsioonis öeldi, et vajalik on OpenSSL versioon 1.1.0 vÔi uuem. Kasutasin versiooni openssl-1.1.1g. OpenSSL-i saab alla laadida ametlikult veebisaidilt, kuid lihtsama installimise jaoks on vaja leida Windowsi installifail. Ma tegin seda teie eest:
Peab lehe allosa alla kerima ja alla laadima Win64 OpenSSL v1.1.1g EXE 63MB Installer. - Installime openssl-1.1.1g arvutisse.
Installimine peab toimuma vaikimisi teed pidi, mis mÀÀratakse automaatselt kausta C:Program Files. Programm installitakse kausta OpenSSL-Win64. - OpenSSL-i seadistamiseks vastavalt oma vajadustele on olemas fail openssl.cfg. See fail asub teel C:Program FilesOpenSSL-Win64bin, kui te installisite OpenSSL nagu eelnevas punktis öeldud. Liigume kausta, kus asub openssl.cfg, ja avame selle faili nÀiteks Notepad++ abil.
- Te kindlasti arvate, et sertifitseerimiskeskuse seadistamine toimub failis openssl.cfg sisu muutmise kaudu, ja te olete tÀiesti Ôiged. Selleks on vajalik seadistada kÀsk [ ca ]. Failis openssl.cfg leiate teksti alguse, kuhu me muudatused teeme, nagu: [ ca ].
- NĂŒĂŒd toon nĂ€ite seadistusest koos kirjeldustega:
[ 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_certNĂŒĂŒd on vajalik luua kataloog demoCA ja alakaustad, nagu on nĂ€idatud eespool. Ja paigutada see kataloog teele, mis on mÀÀratud dir-s (minu puhul /Users/username/bin/openSSLca/demoCA).
On vĂ€ga oluline Ă”igesti mÀÀrata dir â see on tee kataloogile, kus meie sertifitseerimiskeskus asub. See kataloog peab kindlasti asuma /Users (ehk mĂ”ne kasutaja konto all). Kui paigutada see kataloog nĂ€iteks kausta C:Program Files, ei leia sĂŒsteem faili openssl.cfg seadistustega (vĂ€hemalt oli minul nii).
$dir â siia asendatakse tee, mis on mÀÀratud dir-is.
Veel ĂŒks oluline punkt on luua tĂŒhi fail index.txt, ilma selleta ei toimi kĂ€sud 'openSSL ca âŠ'.
Samuti peab olema olemas fail serial, juurprivaatne vÔti (ca.key) ja juursertifikaat (ca.crt). Nende failide saamise protsess on hiljem kirjeldatud.
- Ăhendame Ruutokeni pakutavad krĂŒptimisalgoritmid.
See ĂŒhendamine toimub failis openssl.cfg.- Esiteks peame alla laadima vajalikud Ruutokeni algoritmid. Need on failid rtengine.dll, rtpkcs11ecp.dll.
Selleks laadige alla Ruutokeni SDK: .Ruutokeni SDK on kÔik, mis on arendajatele, kes soovivad Ruutokeni proovida. Seal on nii eraldi nÀiteid Ruutokeniga töötamiseks erinevates programmeerimiskeeltes kui ka teatud raamatukogusid. Meie raamatukogud rtengine.dll ja rtpkcs11ecp.dll asuvad Ruutokeni SDK-s vastavalt jÀrgmistes asukohtades:
sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dllVĂ€ga oluline punkt. Raamatukogud rtengine.dll, rtpkcs11ecp.dll ei tööta ilma Ruutokeni seadme draiverita. Samuti peab Ruutoken olema ĂŒhendatud arvutiga. (kogu vajaliku Ruutokeni seadistuse kohta vaata artikli eelmist osa )
- Raamatukogud rtengine.dll ja rtpkcs11ecp.dll vÔib hoida kas vÔi kasutajakonto mis tahes kohas.
- MÀÀrame nende raamatukogude teed failis openssl.cfg. Selleks avame faili openssl.cfg, faili algusesse tuleb lisada rida:
openssl_conf = openssl_defFaili lÔppu tuleb lisada:
[ 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 â tuleb mÀÀrata oma tee raamatukogule rtengine.dll.
MODULE_PATH â tuleb mÀÀrata oma tee raamatukogule rtpkcs11ecp.dll.
- Esiteks peame alla laadima vajalikud Ruutokeni algoritmid. Need on failid rtengine.dll, rtpkcs11ecp.dll.
- Lisame keskkonnamuutujad.
Oluline on lisada keskkonnamuutuja, mis nÀitab teed openssl.cfg konfiguratsioonifailini. Minu puhul oli loodud muutuja OPENSSL_CONF teega C:Program FilesOpenSSL-Win64binopenssl.cfg.
Teed, kus asub openssl.exe, tuleb lisada muutuja path'isse, minu puhul on see: C:Program FilesOpenSSL-Win64bin.
- NĂŒĂŒd saame naasta punkti 5 juurde ja luua puuduvad failid kataloogis demoCA.
- Esimene oluline fail, ilma milleta ei toimu midagi, on serial. See on fail ilma laiendita, mille vÀÀrtus peaks olema 01. Saame selle faili ise luua ja kirjutada sisse 01. Samuti on vÔimalik see alla laadida RUTOKEN SDK-st aadressilt sdk/openssl/rtengine/samples/tool/demoCA/.
Kataloogis demoCA on fail serial, mida me vajame. - Loodame juurprivaatvÔtme.
Selleks kasutame openSSL'i teeki, mille kÀsu tuleb kÀivitada otse kÀsureal:openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key - Loodame juursertifikaadi.
Selle jaoks kasutame jÀrgmisi openSSL'i kÀske:openssl req -utf8 -x509 -key ca.key -out ca.crtPange tÀhele, et juursertifikaadi loomiseks on vajalik eelnevalt loodud juurprivaatvÔti. SeetÔttu peab kÀsurea olema avatud samas kataloogis.
NĂŒĂŒd on meil olemas kĂ”ik puuduvad failid demoCA katalooge tĂ€ielikuks konfigureerimiseks. Paigaldage loodud failid neisse kataloogidesse, mis on toodud punktis 5.
- Esimene oluline fail, ilma milleta ei toimu midagi, on serial. See on fail ilma laiendita, mille vÀÀrtus peaks olema 01. Saame selle faili ise luua ja kirjutada sisse 01. Samuti on vÔimalik see alla laadida RUTOKEN SDK-st aadressilt sdk/openssl/rtengine/samples/tool/demoCA/.
Arvame, et pÀrast kÔigi 8 punkti tÀitmist on meie sertifitseerimiskeskus tÀielikult seadistatud.
JÀrgmises osas rÀÀgin, kuidas me töötame sertifitseerimiskeskusega, et saavutada see, mis on kirjeldatud .
Allikas: habr.com
