Federalna agencija za komunikacije. Implementacija C# za provjeru digitalnog potpisa Federalne agencije za komunikacije

__________________________________________________________

Državna obrazovna ustanova

Visoko stručno obrazovanje

"ST. PETERSBURG

DRŽAVNO SVEUČILIŠTE ZA TELEKOMUNIKACIJE

ih. prof. M.A. BONC-BRUEVICH"

__________________________________________________________________________________________

V.P. Gribačov

Udžbenik za laboratorijske radove iz informacijske sigurnosti.

St. Petersburg

Laboratorij broj 1

Proučavanje kripto-algoritma šifriranjaRSA.

    Cilj.

Proučavanje strukture algoritma i metoda praktične implementacije kriptosustava RSA enkripcije.

RSA kriptosustav razvili su Ronald Rivest, Adi Shamir i Leonard Adleman 1972. godine. Sustav je dobio ime po prvim slovima njihovih prezimena. Unatoč nedavnim izvješćima o pojedinačnim pokušajima uspješne kriptoanalize ovog algoritma, RSA je još uvijek jedan od najčešćih kriptalgoritama. RSA podrška je ugrađena u većinu uobičajenih preglednika (Firefox, IE), postoje RSA dodaci za Total Commandera i neke druge ftp klijente. Kod nas algoritam nije certificiran.

RSA pripada klasi kriptosustava s dva ključa. To znači da algoritam koristi dva ključa - javni (javni) i tajni (privatni).

Javni ključ i njegova odgovarajuća tajna zajedno čine par ključeva (Keypair). Javni ključ ne mora biti tajan. U općem slučaju objavljuje se u otvorenim priručnicima i dostupna je svima. Poruka šifrirana javnim ključem može se dešifrirati samo odgovarajućim uparenim privatnim ključem i obrnuto.

RSA sigurnost temelji se na problemu faktoringa ili faktoringa dva velika broja, čiji produkt tvori tzv. RSA modul. Faktoring vam omogućuje da otkrijete tajni ključ, zbog čega postaje moguće dešifrirati svaku tajnu poruku šifriranu na ovom ključu. Međutim, trenutno se smatra matematički nedokazanim da je za oporavak otvorenog teksta iz šifriranog, imperativ razložiti modul na faktore. Možda će u budućnosti postojati učinkovitiji način za kriptoanalizu RSA, zasnovan na drugim principima.

Stoga je kriptografska snaga RSA određena modulom koji se koristi.

Kako bi se osigurao dovoljan stupanj kriptografske snage, trenutno se preporuča odabir duljine RSA modula od najmanje 1024 bita, a zbog brzog napretka računalne tehnologije ta vrijednost stalno raste.

    Dijagram algoritma šifriranja podatakaRSA

    Odaberite dva nasumična prosta broja ( str i q) i izračunaj modul:

    Eulerova funkcija se izračunava: φ (n)=(str-1)(q-1);

    Tajni ključ se bira nasumično e, dok uvjet međusobne jednostavnosti brojeva mora biti zadovoljen e i φ (n).

    Ključ za dešifriranje izračunava se po formuli:

izd = 1 mod φ (n);

primijeti da d i n također moraju biti relativno prosti brojevi.

    Za šifriranje je potrebno poruku razbiti na blokove iste duljine. Broj bitova u bloku mora odgovarati broju bitova u modulu n.

    Šifriranje bloka poruke provodi se prema formuli:

C i =M i e mod n

    Dešifriranje svakog bloka c i provodi se prema formuli:

M i = C i d mod n

Izbor d kao javni ključ, i e kao tajna je potpuno uvjetna. Oba ključa su potpuno jednaka. Kao javni ključ, možete uzeti e, a kao zatvoreno d.

Primjer šifriranja:

    Odaberite R= 7 , q = 13 , modul n = pq = 7 13 = 91;

    Izračunajte Eulerovu funkciju φ (n) = (str-1)(q-1) = (7-1)(13-1) = 72;

    Uzimajući u obzir uvjete GCD( e, φ (n)) = 1 i 1< e φ (n), odaberite tajni ključ e = 5;

    Na temelju uvjeta izd = 1 mod φ (n), izračunati upareni tajni ključ d = 1 mod 72 , koristeći prošireni Euklid algoritam, nalazimo javni ključ d = 29;

    Primamo otvorenu poruku m = 225367 i razbiti ga na blokove iste duljine m 1 = 22, m 2 = 53, m 3 = 67.

    Mi šifriramo: S 1 = 22 5 mod 91 = 29, C 2 = 53 5 mod 91 = 79, C 3 = 67 5 mod 91 = 58;

    dešifriranje: M 1 = 29 29 mod 91 = 22, M 2 = 79 29 mod 91 = 53, M 3 = 58 29 mod 91 = 67;

    Metodologija izvođenja radova.

Zadatak za rad izdaje nastavnik nakon što studenti polože razgovor o osnovama kriptosustava s javnim ključem.

      Svrha i zadani rad.

      Opis algoritma rada RSA kriptosustava,

      Blok dijagram algoritma rada RSA kriptosustava,

      Zaključci: prednosti i nedostaci RSA kriptosustava.

Laboratorijski rad №2.

Istraživanje elektroničkog digitalnog potpisa (EDS)RSA.

    Cilj.

Istraživanje algoritma elektroničkog digitalnog potpisa (EDS) RSA.

    Osnovne teorijske odredbe.

Shema elektroničkog digitalnog potpisa osmišljena je kako bi osigurala siguran tijek rada u elektroničkim mrežama, slično načinu na koji se potpisi i pečati koriste za zaštitu papirnatih dokumenata u području tradicionalnog tijeka rada. Dakle, EDS tehnologija pretpostavlja prisutnost grupe pretplatnika koji jedni drugima šalju potpisane elektroničke dokumente. EDS ima sva svojstva pravog potpisa. Kako bi postao pretplatnik EDS sustava, svaki korisnik mora izraditi par ključeva – javnih i privatnih. Javni ključevi pretplatnika mogu se registrirati u certificiranom certifikacijskom centru, međutim, u općem slučaju to nije preduvjet za interakciju između pretplatnika EDS sustava.

Trenutno se EDS sustavi mogu graditi na različitim algoritmima kriptografije s dva ključa. RSA algoritam je bio jedan od prvih koji je korišten u tu svrhu. Osim kriptografskog algoritma, EDS shema zahtijeva korištenje takozvanih jednosmjernih ili hash funkcija. Hash funkcija se zove jednosmjerna jer olakšava izračunavanje hash vrijednosti iz bilo kojeg dokumenta. Istodobno, obrnuta matematička operacija, odnosno izračunavanje izvornog dokumenta po njegovoj hash - vrijednosti, predstavlja značajne računske poteškoće. Od ostalih svojstava hash funkcija, treba napomenuti da izlazne vrijednosti (hash) uvijek imaju strogo definiranu duljinu za svaku vrstu funkcije, osim toga, algoritam izračuna hash je dizajniran na način da svaki bit ulazna poruka utječe na sve bitove hash-a. Hash je poput komprimirane "probave" ulazne poruke. Naravno, s obzirom na to da postoji beskonačan broj mogućih poruka i da hash ima fiksnu duljinu, moguće je da postoje najmanje dva različita ulazna dokumenta koja proizvode iste hash vrijednosti. Međutim, standardna dužina hash-a postavljena je na način da je uz postojeću računsku snagu računala pronalaženje kolizija, odnosno različitih dokumenata koji daju iste vrijednosti funkcije, računski težak zadatak.

Dakle, hash funkcija je nekriptografska transformacija koja vam omogućuje da izračunate hash za bilo koji odabrani dokument. Hash ima strogo fiksnu duljinu i izračunava se na način da svaki bit hash ovisi o svakom bitu ulazne poruke.

Postoji prilično velik izbor opcija za izgradnju hash funkcija. Obično se grade na temelju iterativne formule, na primjer, H i = h (H i -1 , M i ) , gdje je kao funkcija h može se uzeti neka lako izračunata funkcija šifriranja.

Slika 1 prikazuje generaliziranu EDS shemu temeljenu na RSA kriptografskom algoritmu.

Algoritam elektroničkog digitalnog potpisa (EDS).RSA

      Radnje pretplatnika - pošiljatelja poruke.

        Odaberite dva velika i međusobno prosta broja str i q;

        Izračunavamo RSA modul. n= str* q;

        Definiramo Eulerovu funkciju: φ (n)=(str-1)(q-1);

        Odabir tajnog ključa e pod uvjetima: 1< e≤φ(n),

H.O.D. (e, φ(n))=1;

        Određivanje javnog ključa d, pod uvjetima: d< n, e* d ≡ 1(mod φ(n)).

      Formiranje EDS-a

        Izračunajte hash poruke M: m = h(M).

        Šifriramo hash poruke na tajnom ključu pretplatnika - pošiljatelja i šaljemo primljeni EDS, S = m e (mod n), pretplatniku - primatelju zajedno s čistim tekstom dokumenta M.

      Ovjera potpisa na strani pretplatnika - primatelja

        Dešifriranje EDS-a S korištenjem javnog ključa d te na taj način dobivamo pristup hashu – vrijednosti koju šalje pretplatnik – pošiljatelj.

        Izračunajte hash otvorenog dokumenta m’= h(M).

        Uspoređujemo hash - vrijednosti m i m' i zaključujemo da je EDS pouzdan ako je m = m'.

    Metodologija izvođenja radova.

Zadatak za izvođenje laboratorijskih radova nastavnik izdaje nakon položenog razgovora sa studentima o osnovama provjere autentičnosti podataka i konceptu generiranja elektroničkog digitalnog potpisa.

Postupak izvođenja radova odgovara sljedećem praktičnom primjeru formiranja i provjere EDS-a.

      Primjer izračuna i provjere EDS-a.

        Odabrana su dva velika i koprosta broja 7 i 17;

        Izračunavamo RSA modul. n=7*17=119;

        Definiramo Eulerovu funkciju: φ (n)=(7-1)(17-1)=96;

        Odabir tajnog ključa e pod uvjetima: 1< e≤φ(n), H.O.D. (e, φ(n))=1; e = 11;

        Određivanje javnog ključa d, pod uvjetima: d< n, e* d ≡ 1(mod φ(n)); d=35;

        Uzmimo neki slučajni niz brojeva kao otvorenu poruku. M = 139. Razbijmo ga na blokove. M 1 = 1, M 2 = 3, M 3 = 9;

        Za izračunavanje hash vrijednosti primjenjujemo formulu za izračun hash funkcije. Da bismo pojednostavili izračune, pretpostavljamo da je vektor inicijalizacije hash funkcije H 0 =5, i kao funkcija šifriranja h koristit ćemo isti RSA.

        Izračunajte hash poruke. H 1 =(H 0 + M 1 ) e mod n =(5+1) 11 mod 119=90; H 2 =(H 1 + M 2 ) e mod n =(90+3) 11 mod 119=53; H 3 = (H 2 + M 3 ) e mod n =(53+9) 11 mod 119=97; Dakle, hash dane otvorene poruke m = 97;

        EDS kreiramo šifriranjem primljene hash - vrijednosti. S= H e mod n = 97 11 mod 119 = 6;

        Slanje javnog ključa putem komunikacijskog kanala d, Tekst poruke M, modul n i elektronički digitalni potpis S.

        Provjera digitalnog potpisa na strani primatelja poruke.

        Na strani pretplatnika - primatelja potpisane poruke, pomoću javnog ključa dobivamo hash - vrijednost prenesenog dokumenta. m ´ = S d mod n =6 35 mod 119 =97;

        Izračunavamo hash prenesene otvorene poruke, na isti način kao što je ta vrijednost izračunata na strani pretplatnika - pošiljatelja. H 1 =(H 0 + M 1 ) e mod n=(5+1) 11 mod 119=90; H 2 =(H 1 + M 2 ) e mod n=(90+3) 11 mod 119=53; H 3 = (H 2 + M 3 ) e mod n=(53+9) 11 mod 119=97; m = 97;

        Uspoređujemo hash vrijednost izračunatu iz prenesenog otvorenog dokumenta i hash vrijednost izvučenu iz EDS-a. m = m ´ =97. Izračunata hash vrijednost odgovara hash vrijednosti dobivenoj iz digitalnog potpisa, stoga primatelj poruke zaključuje da je primljena poruka originalna.

      Svrha i svrha rada.

      Opis algoritma generiranja RSA EDS-a.

      Blok dijagram algoritma generiranja digitalnog potpisa RSA.

      Zaključci: prednosti i nedostaci EDS RSA.

Članak daje odgovore na pitanja: "Kako izgleda elektronički potpis", "Kako funkcionira EDS", raspravlja o njegovim mogućnostima i glavnim komponentama, a također pruža vizualne upute korak po korak za postupak potpisivanja datoteku s elektroničkim potpisom.

Što je elektronički potpis?

Elektronički potpis nije predmet koji se može podići, već dokument koji vam omogućuje da potvrdite da EDS pripada njegovom vlasniku, kao i da zabilježite stanje informacija/podataka (prisutnost ili odsutnost promjena) u elektronički dokument od trenutka kada je potpisan.

Referenca:

Skraćeni naziv (prema saveznom zakonu br. 63) je ES, ali češće koriste zastarjelu kraticu EDS (elektronički digitalni potpis). To, primjerice, olakšava interakciju s tražilicama na internetu, jer ES može značiti i električni štednjak, putničku električnu lokomotivu itd.

Prema zakonodavstvu Ruske Federacije, kvalificirani elektronički potpis je ekvivalent vlastitog potpisa s punom pravnom snagom. Osim kvalificiranog u Rusiji, postoje još dvije vrste EDS-a:

- nekvalificiran - osigurava pravni značaj dokumenta, ali tek nakon sklapanja dodatnih sporazuma između potpisnika o pravilima za primjenu i priznavanje EDS-a, omogućuje vam da potvrdite autorstvo dokumenta i kontrolirate njegovu nepromjenjivost nakon potpisivanja,

- jednostavan - ne daje potpisanom dokumentu pravni značaj do sklapanja dodatnih sporazuma između potpisnika o pravilima primjene i priznavanja EDS-a i bez poštivanja zakonski utvrđenih uvjeta za njegovo korištenje (jednostavan elektronički potpis mora biti sadržan u sam dokument, njegov ključ se mora primijeniti u skladu sa zahtjevima informacijskog sustava, gdje se koristi i tako dalje u skladu sa Saveznim zakonom-63, članak 9), ne jamči njegovu nepromjenjivost od trenutka potpisivanja, omogućuje vam potvrdu autorstva. Njegova uporaba nije dopuštena u slučajevima koji se odnose na državnu tajnu.

Mogućnosti elektroničkog potpisa

EDS omogućuje pojedincima daljinsku interakciju s državnim, obrazovnim, medicinskim i drugim informacijskim sustavima putem interneta.

Za pravne osobe elektronički potpis daje pristup sudjelovanju u elektroničkom trgovanju, omogućuje organiziranje pravno značajnog elektroničkog upravljanja dokumentima (EDM) i podnošenje elektroničkih izvješća regulatornim tijelima.

Mogućnosti koje EDS pruža korisnicima učinile su ga važnim dijelom svakodnevnog života kako običnih građana tako i predstavnika tvrtki.

Što znači izraz "naručitelju je izdan elektronički potpis"? Kako izgleda ECP?

Sam potpis nije objekt, već rezultat kriptografskih transformacija potpisanog dokumenta i ne može se “fizički” izdati na bilo kojem mediju (token, pametna kartica itd.). Niti se može vidjeti, u pravom smislu riječi; ne izgleda kao potez olovkom ili figurirani otisak. Oko, Kako izgleda elektronički potpis? reći ćemo u nastavku.

Referenca:

Kriptografska transformacija je enkripcija koja je izgrađena na algoritmu koji koristi tajni ključ. Proces vraćanja izvornih podataka nakon kriptografske transformacije bez ovog ključa, prema mišljenju stručnjaka, trebao bi trajati dulje od razdoblja valjanosti ekstrahiranih informacija.

Flash medij je kompaktni medij za pohranu koji uključuje flash memoriju i adapter (usb flash disk).

Token je uređaj čije je tijelo slično USB flash pogonu, ali je memorijska kartica zaštićena lozinkom. Podaci za izradu EDS-a se bilježe na tokenu. Da biste radili s njim, morate se spojiti na USB-priključak računala i unijeti lozinku.

Pametna kartica je plastična kartica koja vam omogućuje izvođenje kriptografskih operacija zahvaljujući mikrosklopu ugrađenom u nju.

SIM kartica s čipom je kartica mobilnog operatera opremljena posebnim čipom, na koji je sigurno instalirana java aplikacija u fazi proizvodnje, proširujući njezinu funkcionalnost.

Kako razumjeti izraz "izdan elektronički potpis", koji je čvrsto ukorijenjen u kolokvijalnom govoru sudionika na tržištu? Što je elektronički potpis?

Izdani elektronički potpis sastoji se od 3 elementa:

1 - sredstvo elektroničkog potpisa, odnosno tehničko sredstvo potrebno za implementaciju skupa kriptografskih algoritama i funkcija. To može biti ili kriptografski davatelj instaliran na računalu (CryptoPro CSP, ViPNet CSP), ili neovisni token s ugrađenim kriptografskim davateljem (Rutoken EDS, JaCarta GOST), ili "elektronički oblak". Više o EDS tehnologijama vezanim uz korištenje "elektroničkog oblaka" možete pročitati u sljedećem članku Portala jedinstvenog elektroničkog potpisa.

Referenca:

Davatelj kriptovaluta je neovisni modul koji djeluje kao "posrednik" između operacijskog sustava, koji njime upravlja s određenim skupom funkcija, i programskog ili hardverskog kompleksa koji obavlja kriptografske transformacije.

Važno: token i sredstva kvalificiranog EDS-a na njemu moraju biti ovjereni od strane Federalne službe sigurnosti Ruske Federacije u skladu sa zahtjevima Federalnog zakona br. 63.

2 - par ključeva, koji se sastoji od dva neosobna skupa bajtova formiranih pomoću alata za elektronički potpis. Prvi od njih je ključ za elektronički potpis, koji se naziva "zatvoren". Koristi se za formiranje samog potpisa i mora se čuvati u tajnosti. Stavljanje “privatnog” ključa na računalo i flash pogon je krajnje nesigurno, na tokenu je donekle nesigurno, na tokenu/smart kartici/sim kartici u nepovratnom obliku je najsigurnije. Drugi je ključ za provjeru elektroničkog potpisa, koji se naziva "otvoren". Ne čuva se u tajnosti, nedvosmisleno je vezan uz “privatni” ključ i nužan je kako bi svatko mogao provjeriti ispravnost elektroničkog potpisa.

3 - EDS certifikat ključa za provjeru izdaje certifikacijsko tijelo (CA). Njegova je svrha povezati neosobni skup bajtova "javnog" ključa s identitetom vlasnika elektroničkog potpisa (osobe ili organizacije). U praksi to izgleda ovako: na primjer, Ivan Ivanovič Ivanov (pojedinac) dolazi u certifikacijski centar, predočava svoju putovnicu, a CA mu izdaje potvrdu da deklarirani "javni" ključ pripada Ivanu Ivanoviču Ivanovu. To je potrebno kako bi se spriječila lažna shema, tijekom čije implementacije napadač, u procesu prijenosa "otvorenog" koda, može ga presresti i zamijeniti svojim. Tako će se prekršitelj moći lažno predstavljati kao potpisnik. Ubuduće, presretanjem poruka i unošenjem izmjena, moći će ih potvrditi svojim EDS-om. Zato je uloga potvrde ključa za provjeru elektroničkog potpisa iznimno važna, a certifikacijski centar snosi financijsku i administrativnu odgovornost za njegovu ispravnost.

U skladu sa zakonodavstvom Ruske Federacije, postoje:

- "potvrda ključa za provjeru elektroničkog potpisa" generira se za nekvalificirani digitalni potpis i može ga izdati certifikacijski centar;

— "potvrda ključa za provjeru kvalificiranog digitalnog potpisa" generira se za kvalificirani digitalni potpis i može ga izdati samo CA akreditiran od strane Ministarstva telekomunikacija i masovnih komunikacija.

Uobičajeno, može se naznačiti da su ključevi za provjeru elektroničkog potpisa (skupovi bajtova) tehnički koncepti, a "javni" certifikat ključa i certifikacijski centar organizacijski koncepti. Uostalom, CA je strukturna jedinica koja je odgovorna za usklađivanje "otvorenih" ključeva i njihovih vlasnika u sklopu njihovih financijskih i gospodarskih aktivnosti.

Rezimirajući gore navedeno, izraz „klijentu je izdan elektronički potpis“ sastoji se od tri pojma:

  1. Klijent je kupio alat za elektronički potpis.
  2. Dobio je "otvoreni" i "privatni" ključ uz pomoć kojeg se generira i verificira EDS.
  3. CA je izdao certifikat klijentu koji potvrđuje da "javni" ključ iz para ključeva pripada toj osobi.

Sigurnosni problem

Potrebna svojstva potpisanih dokumenata:

  • integritet;
  • autentičnost;
  • vjerodostojnost (autentičnost; "neporicanje" autorstva informacije).

Omogućuju ih kriptografski algoritmi i protokoli, kao i softverska i hardversko-softverska rješenja temeljena na njima za formiranje elektroničkog potpisa.

Uz određeni stupanj pojednostavljenja, možemo reći da se sigurnost elektroničkog potpisa i usluga koje se pružaju na temelju njega temelji na činjenici da se "privatni" ključevi elektroničkog potpisa čuvaju u tajnosti, u zaštićenom obliku, te da se svaki korisnik ih drži odgovorno i ne dopušta incidente.

Napomena: prilikom kupnje tokena važno je promijeniti tvorničku lozinku, kako nitko osim njegovog vlasnika ne bi mogao pristupiti EDS mehanizmu.

Kako potpisati datoteku elektroničkim potpisom?

Da biste potpisali datoteku digitalnog potpisa, morate izvršiti nekoliko koraka. Kao primjer, razmotrimo kako staviti kvalificirani elektronički potpis na certifikat zaštitnog znaka Jedinstvenog portala elektroničkih potpisa u .pdf formatu. Potreba:

1. Kliknite na dokument desnom tipkom miša i odaberite kripto davatelja (u ovom slučaju CryptoARM) i stupac “Potpis”.

2. Proslijedite put u dijaloškim okvirima kriptografskog davatelja:

U ovom koraku, ako je potrebno, možete odabrati drugu datoteku za potpisivanje ili preskočiti ovaj korak i otići izravno na sljedeći dijaloški okvir.

Polja Kodiranje i Proširenje ne zahtijevaju uređivanje. U nastavku možete odabrati gdje će potpisana datoteka biti spremljena. U primjeru, dokument s digitalnim potpisom bit će postavljen na radnu površinu (Desktop).

U bloku "Svojstva potpisa" odaberite "Potpisano", ako je potrebno, možete dodati komentar. Ostala polja mogu se isključiti/odabrati po želji.

U spremištu certifikata odaberite onaj koji vam je potreban.

Nakon što provjerite je li polje "Vlasnik certifikata" ispravno, kliknite gumb "Dalje".

U ovom dijaloškom okviru provodi se konačna provjera podataka potrebnih za izradu elektroničkog potpisa, a zatim nakon klika na gumb "Završi", trebala bi se pojaviti sljedeća poruka:

Uspješan završetak operacije znači da je datoteka kriptografski konvertirana i da sadrži rekvizit koji popravlja nepromjenjivost dokumenta nakon što je potpisan i osigurava njegov pravni značaj.

Dakle, kako izgleda elektronički potpis na dokumentu?

Na primjer, uzmemo datoteku potpisanu elektroničkim potpisom (spremljenu u .sig formatu) i otvorimo je putem kriptografskog davatelja.

Ulomak radne površine. S lijeve strane: datoteka potpisana ES-om, s desne strane: kriptografski pružatelj (na primjer, CryptoARM).

Vizualizacija elektroničkog potpisa u samom dokumentu prilikom otvaranja nije predviđena jer je to rekvizit. Ali postoje iznimke, na primjer, elektronički potpis Federalne porezne službe nakon primitka izvoda iz Jedinstvenog državnog registra pravnih osoba / EGRIP putem internetske usluge uvjetno se prikazuje na samom dokumentu. Screenshot se može pronaći na

Ali što na kraju "izgleda" EDS, odnosno, kako je činjenica potpisivanja naznačena u dokumentu?

Otvaranjem prozora "Upravljanje potpisanim podacima" putem davatelja kriptovaluta, možete vidjeti informacije o datoteci i potpisu.

Kada kliknete na gumb "Prikaz", pojavljuje se prozor s podacima o potpisu i certifikatu.

Posljednja snimka zaslona jasno pokazuje kako izgleda digitalni potpis na dokumentu"iznutra".

Elektronički potpis možete kupiti na .

Ostala pitanja na temu članka postavite u komentarima, stručnjaci portala Jedinstvenog elektroničkog potpisa sigurno će vam odgovoriti.

Članak su pripremili urednici Jedinstvenog portala stranice Elektronički potpis koristeći materijale SafeTecha.

Uz potpunu ili djelomičnu upotrebu materijala, hiperveza na www..

Odlučio sam istaknuti današnji kratki zapis na temu izrade elektroničkog digitalnog potpisa pomoću CryptoPRO kripto provajdera. Govorit ćemo o datoteci Bat, koja se može koristiti za automatizaciju potpisivanja elektroničkih dokumenata.

Kako bismo automatizirali proces potpisivanja elektroničkih dokumenata, potrebno nam je:
1) Crypto PRO CSP;
2) USB ključ (npr. rutoken) umetnut u USB priključak;
3) Notepad (Notepad.exe);
4) Instalirani certifikati za vaš ključ;

Kamen spoticanja u cijeloj ovoj priči je datoteka csptest.exe koja se nalazi u CryptoPro direktoriju (prema zadanim postavkama C:\Program Files\Crypto Pro\CSP\csptest.exe).

Otvorite naredbeni redak i pokrenite naredbu:

Cd C:\Program Files\Crypto Pro\CSP\ i csptest

Vidjet ćemo sve moguće parametre ove exe datoteke.

odaberite između:-pomozite ispisati ovu pomoć -noerrorwait ne čekati na bilo koju tipku u slučaju pogreške -notime ne prikazati proteklo vrijeme -pauza Pričekajte unos tipkovnice nakon završetka kako biste mogli provjeriti korištenje memorije i drugih resursa -ponovo pokrenite Call DestroyCSProvider() posljednjeg korištenog CSP-a na izlazu iz usluga (cryptsrv*, HSM, itd.) ne utječe -randinit Inicijaliziraj sistemski rng sa srand(x) (zadano: vrijeme) -showrandinit Prikaži vrijednost inicijalizacije sustava rng -stack Mjeri korištenje steka odaberite između:-lowenc test enkripcije/dekripcije na niskoj razini -sfenc pojednostavljeni test enkripcije/dešifriranja poruke -cmslowsign CMS test potpisivanja poruke niske razine -cmssfsign CMS pojednostavljeni test potpisivanja/potvrde poruke na niskoj razini -test potpisivanja poruke niske razine -lowsignc test potpisivanja poruke niske razine sa ciklus Umjesto toga upotrijebite "-lowsign -repeat NN"! -sfsign pojednostavljeno potpisivanje/provjera poruka na razini -ipsec ipsec testovi -defprov zadane manipulacije davatelja -testpack Paket nekoliko testova -pribavljanje/instaliranje certifikata svojstva za povezivanje tajnog ključa -certifikacijski ključ promjena imena dobavljača u vezi tajnog ključa certifikata -testovi konteksta davatelja konteksta -absorb apsorbira sve certifikate iz spremnika s povezivanjem tajnog ključa -drvtst proxy-driver test -signtool SDK signtool analogni -iis upravlja IIS -hsm upravlja HSM-klijentom -rpcc RPC preko SSL klijenta -rpcs RPC preko SSL poslužitelja -oid oid info/set /get -passwd set/change password -keycopy copy container -keyset create (open) keyset -tlss start tls server -tlsc start tls client -tls TLS testovi -prf PRF testovi -hash hash test -makecert izdavanje certifikata test -certprop show certifikat svojstva -rc verify pkcs#10/potpis certifikata -cmsenclow CMS test šifriranja/dešifriranja poruke niske razine -sfse pojednostavljena poruka na razini SignedAndEnveloped test -test stresa za Ac quire/ReleaseContext -ep test izvoza javnog ključa -enum nabrajanje CSP parametara -cpenc CP/Crypto razina (advapi32) testovi enkripcije -setpp SetProvParam testovi -perf Testovi performansi -brzina Testovi brzine i optimalna postavka maske funkcije -testcont Test instalacije/deinstaliranja kontejneri - instalirajte informacije o instalaciji CSP-a, brisanje CSP-verzije Ispišite CSP verziju

Da biste vidjeli parametre određene globalne opcije, dovoljno je na primjer pozvati ovu datoteku s ovom opcijom

csptest -sfsign : -potpiši podatke iz ulaznog naziva datoteke -provjeri Provjeri potpis na podacima navedenim u ulaznom nazivu datoteke -pomoć Ispiši ovu pomoć : -u Unesite naziv datoteke za potpisivanje ili potvrdu Izlaz PKCS#7 naziv datoteke -my Certifikat od trgovine CURRENT_USER za obradu podataka -MY Certifikat iz trgovine LOCAL_MACHINE za obradu podataka -odvojen Dogovor s odvojenim potpisom -dodaj Dodaj certifikat pošiljatelja u PKCS#7 -potpis Odvojena datoteka potpisa -alg Hash algoritam: SHA1, MD5, MD2, GOST - zadano -ask Pribavi csp kontekst pomoću mog certifikata (zadano: nema) -base64 Ulaz/izlaz s base64DER konverzijom -addsigtime Dodaj atribut vremena potpisivanja -cades_strict Strogi generiranje atributa signingV2 Certificate -cades_disable Onemogući generiranje atributa signingCertificateV2

Dakle, da biste potpisali datoteku putem cmd-a pomoću csptest.exe, trebate pozvati naredbu:

Csptest -sfsign -sign -in Dogovor.doc -out Dogovor.doc.sig -my LLC MyPrograms Ivanov Ivan Ivanovich

gdje:
-moj- Označava vlasnika ključa;
-u- Određuje koju datoteku treba potpisati. Ako datoteka nije u mapi s csptestom, tada morate navesti puni put.;
- van— Određuje naziv datoteke potpisa;

Potpis možete provjeriti na web stranici Gosulsuga na ovoj poveznici.

Vjerojatno. Ako sada prenesete ovu datoteku na web-stranicu javne službe, pojavit će se pogreška. To je zbog činjenice da su potrebne informacije o certifikacijskom centru. Također, datum i vrijeme potpisivanja dokumenata neće biti suvišni. Da bismo to učinili, našoj naredbi moramo dodati dva parametra:

Csptest -sfsign -sign -in Dogovor.doc -out Dogovor.doc.sig -my LLC MyPrograms Ivanov Ivan Ivanovich -addsigtime -dod

Ako nam je potreban potpis u spojenom formatu, dodajemo još jedan parametar:

Csptest -sfsign -sign -in Dogovor.doc -out Dogovor.doc.sig -my LLC MyPrograms Ivanov Ivan Ivanovich -addsigtime -add -odvojena

Bilješka: Ako je dokument potpisan s greškom
Nije moguće otvoriti datoteku
Došlo je do pogreške pri pokretanju programa.
.\signtsf.c:321:Ne mogu otvoriti ulaznu datoteku.
Pogreška broj 0x2 (2).
Navedenu datoteku nije moguće pronaći.

kod poziva, kao u zadnjem primjeru, a sigurni ste da su putovi u parametrima -in i -out ispravni, pokušajte kreirati potpis prema prvom primjeru, a zatim izvršiti naredbu s punim skupom parametara!! !

Dobili smo glavnu komandu na potpisivanje. Sada malo pojednostavimo proceduru. Napravimo bat datoteku, koja će, kada se pokrene, potpisati datoteku Secret.txt koja se nalazi u istoj mapi kao i bat datoteka. Otvorite Notepad i napišite sljedeći kod:

Chcp 1251 set CurPath=%cd% cd C:\Program Files\Crypto Pro\CSP call csptest -sfsign -sign -in %CurPath%\Secret.txt -out %CurPath%\Secret.txt.sig -my LLC MyPrograms Ivanov Ivan Ivanovich -addsigtime -add -detached cd %CurPath%

Kliknite "Datoteka" -> "Spremi kao" -> Postavi naziv iz .bat -> "Spremi"
Sobsvenno i sve. Za referencu:
chcp 1251- Postavlja kodiranje za CMD. Potrebno za valjanu obradu ruskih slova u kodu;
postavi CurPath=%cd%- Sprema stazu trenutnog CMD direktorija u varijablu CurPath;
CD- Postavlja trenutni CMD put;
poziv- Pokreće program;