Bon apremidi Ann kontinye fè fas ak sijè sa a ().
Jodi a ann ale nan pati pratik la. Ann kòmanse pa mete otorite sètifika w la ki baze sou bibliyotèk kriptografik openSSL plen plen sous louvri. Algorithm sa a te teste lè l sèvi avèk Windows 7.
Avèk openSSL enstale, nou ka fè plizyè operasyon kriptografik (tankou génération kle ak sètifika) atravè liy lòd la.
Algoritm aksyon an se jan sa a:
- Telechaje enstalasyon distribisyon openssl-1.1.1g.
openSSL gen diferan vèsyon. Dokimantasyon pou Rutoken te deklare ke se openSSL vèsyon 1.1.0 oswa pita obligatwa. Mwen te itilize vèsyon openssl-1.1.1g. Ou ka telechaje openSSL nan sit entènèt ofisyèl la, men pou yon enstalasyon pi fasil ou bezwen jwenn dosye enstalasyon Windows sou entènèt la. Mwen te fè sa pou ou:
Ou bezwen fè pati anba a nan paj la epi telechaje Win64 OpenSSL v1.1.1g EXE 63MB Enstalatè. - Enstale openssl-1.1.1g sou òdinatè w lan.
Enstalasyon an dwe fèt lè l sèvi avèk chemen estanda a, ki se otomatikman espesifye nan folder nan C: Program Files. Pwogram nan pral enstale nan katab OpenSSL-Win64 la. - Yo nan lòd yo konfigirasyon openSSL jan ou bezwen, gen yon dosye openssl.cfg. Fichye sa a sitiye nan chemen C:Program FilesOpenSSL-Win64bin si ou enstale openSSL jan sa dekri nan paragraf anvan an. Ale nan katab la kote openssl.cfg estoke epi ouvri fichye sa a lè l sèvi avèk, pou egzanp, Notepad ++.
- Ou pwobableman devine ke konfigirasyon sant sètifikasyon an pral fè pa yon jan kanmenm chanje sa ki nan dosye a openssl.cfg, epi ou gen absoliman dwa. Pou fè sa, ou bezwen configured kòmandman [ca]. Nan fichye openssl.cfg la, yo ka jwenn kòmansman tèks la kote nou pral fè chanjman yo: [ca].
- Koulye a, mwen pral bay yon egzanp yon konfigirasyon ak deskripsyon li yo:
[ 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_certKoulye a, ou bezwen kreye anyè demoCA ak sou-reperyè, jan yo montre nan egzanp ki anwo a. Epi mete l nan anyè sa a sou chemen ki espesifye nan dir (mwen gen /Users/username/bin/openSSLca/demoCA).
Li enpòtan anpil pou antre nan dir kòrèkteman - sa a se chemen an nan anyè kote otorite sètifikasyon nou an pral ye. Anyè sa a dwe lokalize nan /Users (ki vle di, nan yon kont itilizatè). Si ou mete anyè sa a, pa egzanp, nan C: Program Files, sistèm lan p ap wè fichye paramèt openssl.cfg (omwen se konsa li te ye pou mwen).
$dir - chemen ki espesifye nan dir ranplase isit la.
Yon lòt pwen enpòtan se kreye yon dosye index.txt vid san dosye sa a, kòmandman "openSSL ca ..." pa pral travay.
Ou bezwen tou gen yon dosye seri, yon kle prive rasin (ca.key), ak yon sètifika rasin (ca.crt). Pwosesis pou jwenn dosye sa yo pral dekri anba a.
- Nou pèmèt algorithm chifreman Rutoken ofri.
Koneksyon sa a fèt nan dosye openssl.cfg.- Premye a tout, ou bezwen telechaje algoritm Rutoken ki nesesè yo. Sa yo se dosye yo rtengine.dll, rtpkcs11ecp.dll.
Pou fè sa, telechaje Rutoken SDK la: .Rutoken SDK se tout sa ki genyen pou devlopè ki vle eseye Rutoken. Genyen tou de egzanp endividyèl pou travay ak Rutoken nan diferan lang pwogramasyon, ak kèk bibliyotèk yo prezante. Bibliyotèk nou yo rtengine.dll ak rtpkcs11ecp.dll yo sitiye nan Rutoken sdk, respektivman nan kote sa a:
sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dllYon pwen trè enpòtan. Bibliyotèk yo rtengine.dll, rtpkcs11ecp.dll pa travay san chofè a enstale pou Rutoken. Epitou, Rutoken dwe konekte ak òdinatè a. (pou enstalasyon tout sa ki nesesè pou Rutoken, gade pati anvan atik la )
- Bibliyotèk rtengine.dll ak rtpkcs11ecp.dll ka kenbe nenpòt kote nan kont itilizatè a.
- Nou anrejistre chemen ki mennen nan bibliyotèk sa yo nan openssl.cfg. Pou fè sa, louvri dosye a openssl.cfg, nan kòmansman fichye sa a ou bezwen mete liy lan:
openssl_conf = openssl_defNan fen dosye a ou bezwen ajoute:
[ 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, RANDdynamic_path - ou bezwen presize chemen ou nan bibliyotèk la rtengine.dll.
MODULE_PATH - ou dwe presize chemen ou nan bibliyotèk rtpkcs11ecp.dll.
- Premye a tout, ou bezwen telechaje algoritm Rutoken ki nesesè yo. Sa yo se dosye yo rtengine.dll, rtpkcs11ecp.dll.
- Ajoute varyab anviwònman an.
Ou dwe ajoute yon varyab anviwònman ki espesifye chemen an nan dosye a konfigirasyon openssl.cfg. Nan ka mwen an, yo te kreye varyab OPENSSL_CONF ak chemen C:Program FilesOpenSSL-Win64binopenssl.cfg.
Varyab chemen an dwe genyen chemen ki mennen nan katab kote openssl.exe sitiye, nan ka mwen an li se: C:Program FilesOpenSSL-Win64bin.
- Koulye a, ou ka retounen nan etap 5 epi kreye dosye ki manke yo pou anyè demoCA a.
- Premye fichye enpòtan an san yo pa anyen pa pral travay se seri. Sa a se yon fichye san ekstansyon, valè a ta dwe 01. Ou ka kreye fichye sa a tèt ou epi ekri 01 andedan Ou ka telechaje li tou nan Rutoken SDK sou chemen sdk/openssl/rtengine/samples/tool/demoCA. /.
Nan anyè demoCA a gen yon dosye seri, ki se egzakteman sa nou bezwen. - Kreye yon kle prive rasin.
Pou fè sa, nou pral sèvi ak kòmandman bibliyotèk openSSL la, ki dwe kouri dirèkteman sou liy lòd la:openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key - Kreye yon sètifika rasin.
Pou fè sa, nou pral sèvi ak lòd sa a nan bibliyotèk openSSL la:openssl req -utf8 -x509 -key ca.key -out ca.crtTanpri sonje ke pou kreye yon sètifika rasin, ou bezwen kle prive rasin lan, ki te kreye nan etap anvan an. Se poutèt sa, liy lòd la dwe lanse nan menm anyè a.
Tout fichye ki manke yo pou konfigirasyon konplè anyè demoCA yo disponib kounye a. Mete fichye kreye yo nan anyè yo espesifye nan etap 5.
- Premye fichye enpòtan an san yo pa anyen pa pral travay se seri. Sa a se yon fichye san ekstansyon, valè a ta dwe 01. Ou ka kreye fichye sa a tèt ou epi ekri 01 andedan Ou ka telechaje li tou nan Rutoken SDK sou chemen sdk/openssl/rtengine/samples/tool/demoCA. /.
Nou pral asime ke apre w fin ranpli tout pwen 8, sant sètifikasyon nou an konplètman configuré.
Nan pwochen pati a mwen pral di w kouman nou pral travay ak otorite sètifikasyon an pou akonpli sa ki dekri nan .
Sous: www.habr.com
