Federal Communications Agency. Federal Communications Agency Digital Signature Verification c# implementering

__________________________________________________________

Statens utdanningsinstitusjon

Høyere profesjonsutdanning

"ST. PETERSBURG

STATENS UNIVERSITET FOR TELEKOMMUNIKASJON

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

__________________________________________________________________________________________

V.P. Gribatsjov

Opplæring for laboratoriearbeid om informasjonsbeskyttelse.

St. Petersburg

Lab #1

Studiet av kryptoalgoritmen for krypteringRSA.

    Objektiv.

Studie av strukturen til algoritmen og metoder for praktisk implementering av RSA-krypteringskryptosystemet.

RSA-kryptosystemet ble utviklet av Ronald Rivest, Adi Shamir og Leonard Adleman i 1972. Systemet ble oppkalt etter de første bokstavene i etternavnene deres. Til tross for nylige rapporter om individuelle forsøk på vellykket kryptoanalyse av denne algoritmen, er RSA fortsatt en av de vanligste kryptoalgoritmene. RSA-støtte er innebygd i de fleste vanlige nettlesere (Firefox, IE), det finnes RSA-plugins for Total Commandera og noen andre ftp-klienter. I vårt land er algoritmen ikke sertifisert.

RSA tilhører klassen av to-nøkkel kryptosystemer. Dette betyr at algoritmen bruker to nøkler - offentlig (offentlig) og hemmelig (privat).

Den offentlige nøkkelen og dens tilhørende hemmelighet danner sammen et nøkkelpar (Keypair). Den offentlige nøkkelen trenger ikke å holdes hemmelig. I det generelle tilfellet publiseres den i åpne oppslagsverk og er tilgjengelig for alle. En melding kryptert med den offentlige nøkkelen kan bare dekrypteres med den tilsvarende sammenkoblede private nøkkelen, og omvendt.

RSA kryptografisk styrke er basert på problemet med faktorisering eller faktorisering av to store tall, hvis produkt danner den såkalte RSA-modulen. Factoring lar deg avsløre den hemmelige nøkkelen, som et resultat av at det blir mulig å dekryptere enhver hemmelig melding kryptert på denne nøkkelen. Imidlertid anses det for øyeblikket som matematisk ubevist at for å gjenopprette klarteksten fra den krypterte, er det avgjørende å dekomponere modulen i faktorer. Kanskje vil det i fremtiden være en mer effektiv måte å kryptoanalysere RSA på, basert på andre prinsipper.

Dermed bestemmes den kryptografiske styrken til RSA av modulen som brukes.

For å sikre en tilstrekkelig grad av kryptografisk styrke, anbefales det for øyeblikket å velge RSA-modullengden på minst 1024 biter, og på grunn av den raske fremgangen innen datateknologi vokser denne verdien hele tiden.

    Diagram for datakrypteringsalgoritmeRSA

    Velg to tilfeldige primtall ( s og q) og beregn modulen:

    Euler-funksjonen beregnes: φ (n)=(s-1)(q-1);

    En hemmelig nøkkel velges tilfeldig e, mens betingelsen om gjensidig enkelhet av tall må være oppfylt e og φ (n).

    Dekrypteringsnøkkelen beregnes av formelen:

utg = 1 mod φ (n);

Legg merke til det d og n må også være relativt primtall.

    For kryptering er det nødvendig å dele meldingen i blokker av samme lengde. Antall biter i blokken må samsvare med antall biter i modulen n.

    Kryptering av meldingsblokken utføres i henhold til formelen:

C Jeg =M Jeg e mod n

    Dekryptering av hver blokk c Jeg utføres i henhold til formelen:

M Jeg = C Jeg d mod n

Valg d som en offentlig nøkkel, og e som en hemmelighet er helt betinget. Begge nøklene er helt like. Som en offentlig nøkkel kan du ta e, og som en lukket d.

Eksempel på kryptering:

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

    Regn ut Euler-funksjonen φ (n) = (s-1)(q-1) = (7-1)(13-1) = 72;

    Ta hensyn til betingelsene for GCD( e, φ (n)) = 1 og 1< e φ (n), velg en hemmelig nøkkel e = 5;

    Basert på tilstanden utg = 1 mod φ (n), beregne den parede hemmelige nøkkelen d = 1 mod 72 , ved å bruke den utvidede Euclid-algoritmen, finner vi den offentlige nøkkelen d = 29;

    Vi tar en åpen melding m = 225367 og del den i blokker av samme lengde m 1 = 22, m 2 = 53, m 3 = 67.

    Vi krypterer: FRA 1 = 22 5 mod 91 = 29, C 2 = 53 5 mod 91 = 79, C 3 = 67 5 mod 91 = 58;

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

    Metodikken for å utføre arbeidet.

Oppgaven for arbeidet utstedes av læreren etter at studentene har bestått et intervju om grunnleggende om offentlige nøkkelkryptosystemer.

      Formål og tildelt arbeid.

      Beskrivelse av RSA-kryptosystemets operasjonsalgoritme,

      Blokkdiagram over RSA-kryptosystemets operasjonsalgoritme,

      Konklusjoner: fordeler og ulemper med RSA-kryptosystemet.

Laboratoriearbeid №2.

Forskning av elektronisk digital signatur (EDS)RSA.

    Objektiv.

Forskning av algoritmen for elektronisk digital signatur (EDS) RSA.

    Grunnleggende teoretiske bestemmelser.

Den elektroniske digitale signaturordningen er utformet for å gi sikker arbeidsflyt i elektroniske nettverk, lik hvordan signaturer og segl brukes for å beskytte papirdokumenter innen tradisjonell arbeidsflyt. Dermed antar EDS-teknologien tilstedeværelsen av en gruppe abonnenter som sender signerte elektroniske dokumenter til hverandre. EDS har alle egenskapene til en ekte signatur. For å bli abonnent på EDS-systemet må hver bruker opprette et par nøkler - offentlige og private. Offentlige nøkler til abonnenter kan registreres i et sertifisert sertifiseringssenter, men i det generelle tilfellet er dette ikke en forutsetning for interaksjon mellom abonnenter av EDS-systemet.

For øyeblikket kan EDS-systemer bygges på forskjellige algoritmer for to-nøkkel kryptografi. RSA-algoritmen var en av de første som ble brukt til dette formålet. I tillegg til den kryptografiske algoritmen krever EDS-ordningen bruk av såkalte enveis- eller hashfunksjoner. Hash-funksjonen kalles enveis fordi den gjør det enkelt å beregne hashverdien fra ethvert dokument. Samtidig presenterer den omvendte matematiske operasjonen, det vil si beregningen av kildedokumentet etter hash-verdien, betydelige beregningsvansker. Av de andre egenskapene til hash-funksjoner, bør det bemerkes at utgangsverdiene (hash) alltid har en strengt definert lengde for hver type funksjon, i tillegg er hash-beregningsalgoritmen utformet på en slik måte at hver bit av inndatameldingen påvirker alle biter av hashen. Hashen er som en komprimert "digest" av inndatameldingen. Selvfølgelig, gitt at det er et uendelig antall mulige meldinger, og at hashen har en fast lengde, er det mulig at det er minst to forskjellige inndatadokumenter som produserer samme hashverdi. Standard hash-lengde er imidlertid satt på en slik måte at med den eksisterende datakraften til datamaskiner, er det en regnemessig vanskelig oppgave å finne kollisjoner, det vil si forskjellige dokumenter som gir samme funksjonsverdier.

Dermed er hash-funksjonen en ikke-kryptografisk transformasjon som lar deg beregne hashen for et hvilket som helst valgt dokument. Hashen har en strengt fast lengde og beregnes på en slik måte at hver bit av hashen avhenger av hver bit av inndatameldingen.

Det er et ganske stort utvalg av alternativer for å konstruere hash-funksjoner. Vanligvis er de bygget på grunnlag av en iterativ formel, for eksempel, H Jeg = h (H Jeg -1 , M Jeg ) , hvor som en funksjon h noen lett beregnede krypteringsfunksjoner kan tas.

Figur 1 viser et generalisert EDS-skjema basert på RSA-krypteringsalgoritmen.

Elektronisk digital signatur (EDS) algoritmeRSA

      Handlinger til abonnenten - avsenderen av meldingen.

        Velg to store og coprime tall s og q;

        Vi beregner RSA-modulen. n= s* q;

        Vi definerer Euler-funksjonen: φ (n)=(s-1)(q-1);

        Velge en hemmelig nøkkel e underlagt vilkårene: 1< e≤φ(n),

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

        Bestemme den offentlige nøkkelen d, underlagt vilkårene: d< n, e* d ≡ 1(mod φ(n)).

      EDS-dannelse

        Beregn meldingshashen M: m = h(M).

        Vi krypterer hashen til meldingen på den hemmelige nøkkelen til abonnenten - avsenderen og sender den mottatte EDS, S = m e (mod n), til abonnenten - mottakeren sammen med ren tekst i dokumentet M.

      Bekreftelse av signaturen på siden av abonnenten - mottakeren

        Dechiffrere EDS S ved å bruke den offentlige nøkkelen d og på denne måten får vi tilgang til hashen – verdien sendt av abonnenten – avsenderen.

        Beregn hashen til et åpent dokument m’= h(M).

        Vi sammenligner hashen - verdiene til m og m', og konkluderer med at EDS er pålitelig hvis m = m'.

    Metodikken for å utføre arbeidet.

Oppgaven for å utføre laboratoriearbeid utstedes av læreren etter at studentene har bestått et intervju om grunnleggende dataautentisering og konseptet med å generere en elektronisk digital signatur.

Prosedyren for å utføre arbeidet tilsvarer følgende praktiske eksempel på dannelse og verifisering av en EDS.

      Eksempel på beregning og verifisering av EDS.

        To store og coprime tall 7 og 17 er valgt;

        Vi beregner RSA-modulen. n=7*17=119;

        Vi definerer Euler-funksjonen: φ (n)=(7-1)(17-1)=96;

        Velge en hemmelig nøkkel e underlagt vilkårene: 1< e≤φ(n), H.O.D. (e, φ(n))=1; e = 11;

        Bestemme den offentlige nøkkelen d, underlagt vilkårene: d< n, e* d ≡ 1(mod φ(n)); d=35;

        La oss ta en tilfeldig rekkefølge av tall som en åpen melding. M = 139. La oss dele det opp i blokker. M 1 = 1, M 2 = 3, M 3 = 9;

        For å beregne hash-verdien bruker vi formelen for å beregne hash-funksjonen. For å forenkle beregningene, antar vi at initialiseringsvektoren til hash-funksjonen H 0 =5, og som en krypteringsfunksjon h vi vil bruke samme RSA.

        Beregn hashen til meldingen. 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; Dermed hashen til en gitt åpen melding m = 97;

        Vi lager en EDS ved å kryptere den mottatte hashen - verdien. S= H e mod n = 97 11 mod 119 = 6;

        Sender den offentlige nøkkelen over kommunikasjonskanalen d, Meldingstekst M, modul n og elektronisk digital signatur S.

        Kontrollerer den digitale signaturen på siden av mottakeren av meldingen.

        På siden av abonnenten - mottakeren av den signerte meldingen, ved å bruke den offentlige nøkkelen, får vi en hash - verdien av det overførte dokumentet. m ´ = S d mod n =6 35 mod 119 =97;

        Vi beregner hashen til den overførte åpne meldingen, på samme måte som denne verdien ble beregnet på siden av abonnenten - avsenderen. 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;

        Vi sammenligner hashverdien beregnet fra det overførte åpne dokumentet og hashverdien hentet fra EDS. m = m ´ =97. Den beregnede hash-verdien samsvarer med hash-verdien hentet fra den digitale signaturen, derfor konkluderer mottakeren av meldingen med at den mottatte meldingen er ekte.

      Hensikten og formålet med arbeidet.

      Beskrivelse av RSA EDS-genereringsalgoritmen.

      Blokkdiagram av RSA-algoritmen for generering av digital signatur.

      Konklusjoner: fordeler og ulemper med EDS RSA.

Artikkelen gir svar på spørsmålene: "Hvordan ser en elektronisk signatur ut", "Hvordan fungerer en EDS", diskuterer dens evner og hovedkomponenter, og gir også en visuell trinn-for-trinn-instruksjon for prosessen med å signere en fil med elektronisk signatur.

Hva er en elektronisk signatur?

En elektronisk signatur er ikke et objekt som kan plukkes opp, men et dokumentkrav som lar deg bekrefte at EDS tilhører dens eier, samt registrere tilstanden til informasjon/data (tilstedeværelse eller fravær av endringer) i en elektronisk dokument fra det øyeblikket det ble signert.

Referanse:

Det forkortede navnet (i henhold til føderal lov nr. 63) er ES, men oftere bruker de den utdaterte forkortelsen EDS (elektronisk digital signatur). Dette letter for eksempel samhandling med søkemotorer på Internett, siden ES også kan bety en elektrisk komfyr, et passasjerelektrisk lokomotiv, etc.

I henhold til lovgivningen til den russiske føderasjonen tilsvarer en kvalifisert elektronisk signatur en håndskrevet signatur med full rettskraft. I tillegg til de kvalifiserte i Russland, er det ytterligere to typer EDS:

- ukvalifisert - sikrer dokumentets juridiske betydning, men bare etter inngåelse av tilleggsavtaler mellom underskriverne om reglene for anvendelse og anerkjennelse av EDS, lar deg bekrefte forfatterskapet til dokumentet og kontrollere dets ufravikelighet etter signering,

- enkel - gir ikke det signerte dokumentet juridisk betydning før det er inngått tilleggsavtaler mellom underskriverne om reglene for anvendelse og anerkjennelse av EDS og uten å overholde de juridisk fastsatte betingelsene for bruken (en enkel elektronisk signatur må inneholdes i selve dokumentet, nøkkelen må brukes i samsvar med kravene til informasjonssystemet, hvor det brukes, og så videre i samsvar med føderal lov-63, artikkel 9), garanterer ikke dets uoverensstemmelse fra signeringsøyeblikket, lar deg bekrefte forfatterskap. Bruken er ikke tillatt i saker knyttet til statshemmeligheter.

Muligheter for elektronisk signatur

For enkeltpersoner gir EDS ekstern interaksjon med myndigheter, utdanning, medisinsk og annet informasjonssystemer gjennom Internett.

For juridiske personer gir en elektronisk signatur tilgang til deltakelse i elektronisk handel, lar deg organisere en juridisk viktig elektronisk dokumenthåndtering (EDF) og levering elektronisk rapportering til reguleringsmyndighetene.

Mulighetene som EDS gir brukere har gjort det til en viktig komponent Hverdagen både vanlige borgere og representanter for bedrifter.

Hva betyr uttrykket "klienten har fått utstedt en elektronisk signatur"? Hvordan ser en ECP ut?

Signaturen i seg selv er ikke et objekt, men et resultat av kryptografiske transformasjoner av det signerte dokumentet, og den kan ikke utstedes "fysisk" på noe medium (token, smartkort, etc.). Det kan heller ikke sees i ordets sanneste betydning; det ser ikke ut som et pennestrøk eller et figurtrykk. Om, Hvordan ser en elektronisk signatur ut? vi vil fortelle nedenfor.

Referanse:

En kryptografisk transformasjon er en kryptering som er bygget på en algoritme som bruker en hemmelig nøkkel. Prosessen med å gjenopprette de originale dataene etter kryptografisk transformasjon uten denne nøkkelen, ifølge eksperter, bør ta lengre tid enn gyldighetsperioden for den utpakkede informasjonen.

Flash-medier er et kompakt lagringsmedium som inkluderer flash-minne og en adapter (usb-flash-stasjon).

Et token er en enhet hvis kropp ligner på en USB-flash-stasjon, men minnekortet er passordbeskyttet. Informasjonen for å lage en EDS er registrert på tokenet. For å jobbe med det, må du koble til USB-kontakten på datamaskinen og angi et passord.

Et smartkort er et plastkort som lar deg utføre kryptografiske operasjoner på grunn av en mikrokrets innebygd i det.

Et SIM-kort med en brikke er en mobiloperatørs kort utstyrt med en spesiell brikke, der en java-applikasjon er trygt installert på produksjonsstadiet, og utvider funksjonaliteten.

Hvordan skal man forstå uttrykket "elektronisk signatur utstedt", som er godt forankret i markedsaktørenes talemåte? Hva er en elektronisk signatur?

Den utstedte elektroniske signaturen består av 3 elementer:

1 - et middel for elektronisk signatur, det vil si nødvendig for implementering av et sett med kryptografiske algoritmer og funksjoner tekniske midler. Dette kan enten være en kryptografisk leverandør installert på en datamaskin (CryptoPro CSP, ViPNet CSP), eller en uavhengig token med en innebygd kryptografisk leverandør (Rutoken EDS, JaCarta GOST), eller en "elektronisk sky". Du kan lese mer om EDS-teknologier knyttet til bruken av den "elektroniske skyen" i neste artikkel av Single Portal Elektronisk signatur.

Referanse:

En kryptoleverandør er en uavhengig modul som fungerer som en «mellomledd» mellom operativsystemet, som styrer det med et visst sett med funksjoner, og et program eller maskinvarekompleks som utfører kryptografiske transformasjoner.

Viktig: symbolet og midlene til en kvalifisert EDS på den må være sertifisert av den føderale sikkerhetstjenesten i den russiske føderasjonen i samsvar med kravene i føderal lov nr. 63.

2 - et nøkkelpar, som består av to upersonlige sett med byte dannet av et elektronisk signaturverktøy. Den første av dem er den elektroniske signaturnøkkelen, som kalles "lukket". Den brukes til å danne selve signaturen og må holdes hemmelig. Å plassere en "privat" nøkkel på en datamaskin og en flash-stasjon er ekstremt usikkert, på et token er det noe usikkert, på et token/smartkort/sim-kort i en uopprettelig form er det det sikreste. Den andre er den elektroniske signaturverifiseringsnøkkelen, som kalles "åpen". Den holdes ikke hemmelig, den er entydig knyttet til en "privat" nøkkel og er nødvendig for at hvem som helst skal kunne sjekke riktigheten av den elektroniske signaturen.

3 - EDS-verifiseringsnøkkelsertifikat utstedt av en sertifiseringsmyndighet (CA). Dens formål er å knytte et upersonlig sett med byte av den "offentlige" nøkkelen til identiteten til eieren av den elektroniske signaturen (person eller organisasjon). I praksis ser det slik ut: for eksempel kommer Ivan Ivanovich Ivanov (en person) til sertifiseringssenteret, presenterer passet sitt, og CA utsteder ham et sertifikat som bekrefter at den erklærte "offentlige" nøkkelen tilhører Ivan Ivanovich Ivanov. Dette er nødvendig for å forhindre en uredelig ordning, under utplasseringen som en angriper, i ferd med å overføre en "åpen" kode, kan avskjære den og erstatte den med sin egen. Dermed vil lovbryteren kunne utgi seg for underskriveren. I fremtiden, ved å fange opp meldinger og gjøre endringer, vil han kunne bekrefte dem med sin EDS. Derfor er rollen til sertifikatet til den elektroniske signaturverifiseringsnøkkelen ekstremt viktig, og sertifiseringssenteret har økonomisk og administrativt ansvar for korrektheten.

I samsvar med lovgivningen til den russiske føderasjonen er det:

- "nøkkelsertifikat for elektronisk signaturverifisering" genereres for en ukvalifisert digital signatur og kan utstedes av et sertifiseringssenter;

- "kvalifisert sertifikat for verifiseringsnøkkelen for elektronisk signatur" er laget for en kvalifisert digital signatur og kan bare utstedes av en CA akkreditert av departementet for telekom og massekommunikasjon.

Konvensjonelt kan det indikeres at nøklene for å verifisere en elektronisk signatur (sett med byte) er tekniske konsepter, og det "offentlige" nøkkelsertifikatet og sertifiseringssenteret er organisatoriske konsepter. Tross alt er CA en strukturell enhet som er ansvarlig for å matche "åpne" nøkler og deres eiere som en del av deres finansielle og økonomiske aktiviteter.

For å oppsummere det ovenstående, består uttrykket "klienten har fått utstedt en elektronisk signatur" av tre begreper:

  1. Klienten kjøpte et elektronisk signaturverktøy.
  2. Han mottok en "åpen" og "privat" nøkkel, ved hjelp av hvilken en EDS genereres og verifiseres.
  3. CA utstedte et sertifikat til klienten som bekreftet at den "offentlige" nøkkelen fra nøkkelparet tilhører denne bestemte personen.

Sikkerhetsproblem

Nødvendige egenskaper for signerte dokumenter:

  • integritet;
  • autentisitet;
  • autentisitet (autentisitet; "ikke-avvisning" av forfatterskapet til informasjon).

De leveres av kryptografiske algoritmer og protokoller, samt programvare- og maskinvare-programvareløsninger basert på dem for dannelse av en elektronisk signatur.

Med en viss forenkling kan vi si at sikkerheten til en elektronisk signatur og tjenester som tilbys på grunnlag av den er basert på at de «private» nøklene til en elektronisk signatur holdes hemmelige, i en beskyttet form, og at hver brukeren holder dem ansvarlig og tillater ikke hendelser.

Merk: når du kjøper et token, er det viktig å endre fabrikkpassordet, slik at ingen kan få tilgang til EDS-mekanismen bortsett fra eieren.

Hvordan signere en fil med en elektronisk signatur?

For å signere en digital signaturfil må du utføre flere trinn. La oss som et eksempel vurdere hvordan du setter en kvalifisert elektronisk signatur på et varemerkesertifikat for Unified Electronic Signature Portal i .pdf-format. Trenge:

1. Klikk på dokumentet med høyre museknapp og velg kryptoleverandøren (i dette tilfellet CryptoARM) og "Sign"-kolonnen.

2. Send stien i dialogboksene til kryptografleverandøren:

På dette trinnet, om nødvendig, kan du velge en annen fil for signering, eller hoppe over dette trinnet og gå direkte til neste dialogboks.

Feltene Koding og Utvidelse krever ikke redigering. Nedenfor kan du velge hvor den signerte filen skal lagres. I eksemplet vil dokumentet med digital signatur bli plassert på skrivebordet (Desktop).

I blokken "Signaturegenskaper" velger du "Signert", om nødvendig kan du legge til en kommentar. Andre felt kan utelukkes/velges etter ønske.

Fra sertifikatbutikken velger du den du trenger.

Etter å ha bekreftet at feltet "Sertifikateier" er riktig, klikker du på "Neste".

I denne dialogboksen utføres den endelige verifiseringen av dataene som kreves for å lage en elektronisk signatur, og etter å ha klikket på "Fullfør"-knappen, skal følgende melding dukke opp:

Vellykket gjennomføring av operasjonen betyr at filen er kryptografisk konvertert og inneholder en forutsetning som fikser dokumentets uforanderlighet etter at det er signert og sikrer dets juridiske betydning.

Så hvordan ser en elektronisk signatur ut på et dokument?

For eksempel tar vi en fil signert med en elektronisk signatur (lagret i .sig-formatet) og åpner den gjennom en kryptografisk leverandør.

Fragment av skrivebordet. Til venstre: en fil signert med en ES, til høyre: en kryptografisk leverandør (for eksempel CryptoARM).

Visualisering av den elektroniske signaturen i selve dokumentet når det åpnes er ikke gitt på grunn av at det er et krav. Men det er unntak, for eksempel, den elektroniske signaturen til Federal Tax Service ved mottak av et utdrag fra Unified State Register of Legal Entities / EGRIP gjennom en online tjeneste vises betinget på selve dokumentet. Skjermbilde finner du på

Men hva med til slutt "ser" EDS, eller rettere sagt, hvordan er det faktum å signere angitt i dokumentet?

Ved å åpne "Signed Data Management"-vinduet gjennom kryptoleverandøren, kan du se informasjon om filen og signaturen.

Når du klikker på "Vis"-knappen, vises et vindu som inneholder informasjon om signaturen og sertifikatet.

Det siste skjermbildet viser tydelig hvordan ser en digital signatur ut på et dokument"innenfra".

Du kan kjøpe en elektronisk signatur på .

Still andre spørsmål om emnet for artikkelen i kommentarene, ekspertene på Unified Electronic Signature Portal vil definitivt svare deg.

Artikkelen ble utarbeidet av redaktørene av Single Portal of the Electronic Signature-nettstedet ved å bruke materiale fra SafeTech.

Ved hel eller delvis bruk av materialet, en hyperkobling til www..

Jeg bestemte meg for å fremheve dagens korte oppføring om emnet å lage en elektronisk digital signatur ved å bruke CryptoPRO-kryptoleverandøren. Vi vil snakke om Bat-filen, som kan brukes til å automatisere signaturen elektroniske dokumenter.

For å automatisere prosessen med å signere elektroniske dokumenter, trenger vi:
1) Crypto PRO CSP;
2) USB-nøkkel (f.eks. rutoken) satt inn i USB-porten;
3) Notisblokk (Notepad.exe);
4) Installerte sertifikater for nøkkelen din;

Snublesteinen i hele denne historien er csptest.exe-filen som ligger i CryptoPro-katalogen (som standard) C:\Program Files\Crypto Pro\CSP\csptest.exe).

Åpne en ledetekst og kjør kommandoen:

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

Vi vil se alle mulige parametere for denne exe-filen.

velg fra:-hjelp med å skrive ut denne hjelpen -noerrorwait ikke vent på noen tast ved feil -notime viser ikke tiden som har gått -pause Vent på tastaturinndata etter fullføring, slik at du kan sjekke minne og andre ressursbruk -reboot Call DestroyCSProvider() for sist brukte CSP ved utgang Tjenester (cryptsrv*, HSM, etc) påvirkes ikke -randinit Initialiser system rng med srand(x) (standard: tid) -showrandinit Vis system rng initialiseringsverdi -stack Mål stabelbruk velg fra:-lowenc lavnivå kryptering/dekrypteringstest -sfenc forenklet nivå meldingskryptering/dekrypteringstest -cmslowsign CMS lavnivå meldingssigneringstest -cmssfsign CMS forenklet nivå meldingssignering/verifiseringstest -lowsign lavnivå meldingssigneringstest -lowsignc lavnivå meldingssigneringstest med syklus Bruk "-lowsign -repeat NN" i stedet! -sfsign forenklet nivå meldingssignering/verifiseringstest -ipsec ipsec-tester -defprov standardleverandørmanipulasjoner -testpakke Pakke med flere tester -egenskapssertifikat skaffe/installer egenskap for hemmelig nøkkelkobling -sertnøkkel endre leverandørnavn i sertifikat hemmelig nøkkelkobling -kontekstleverandørkonteksttester -absorb absorberer alle sertifikater fra containere med hemmelig nøkkelkobling -drvtst proxy-driver test -signtool SDK signtool analog -iis administrere IIS -hsm administrere HSM-klient -rpcc RPC over SSL klient -rpcs RPC over SSL server -oidoid info/set/get -passwd set/endre passord -keycopy copy container -keyset create (open) keyset -tlss start tls server -tlsc start tls client -tls TLS tests -prf PRF tests -hash hash test -makecert sertifikat utstedelse test - certprop vis sertifikategenskaper -rc verifiser pkcs#10/sertifikatsignatur -cmsenclow CMS lavnivå meldingskryptering/dekrypteringstest -sfse forenklet nivåmelding SignedAndEnveloped test -stress stresstest for Acquire/ReleaseContext -ep public key eksport test -enum CSP parametere enumeration - cpenc CP/Crypto nivå (advapi32) krypteringstester -setpp SetProvParam tester -perf Ytelsestester -hastighet Hastighet tester og optimal funksjonsmaskeinnstilling -testcont Installer/Avinstaller testbeholdere -installer CSP-installasjonsinformasjon, fjerner CSP -versjon Skriv ut CSP-versjon

For å se parametrene til et bestemt globalt alternativ, er det nok å kalle denne filen med dette alternativet, for eksempel

csptest -sfsign : -sign Signer data fra inndatafilnavn -verify Bekreft signatur på data spesifisert av inndatafilnavn -help Skriv ut denne hjelpen : -i Skriv inn filnavn som skal logges eller verifiseres -ut Utdata PKCS#7 filnavn -my Sertifikat fra CURRENT_USER-lager for å behandle data -MY Sertifisering fra LOCAL_MACHINE-lager for å behandle data -frakoblet Handle med frakoblet signatur -legg til Legg til sendersertifikat til PKCS#7 -signatur Frakoblet signaturfil -alg Hash-algoritme: SHA1, MD5, MD2, GOST - standard -spør Anskaffe csp-kontekst ved hjelp av mitt cert (standard: ingen) -base64 Input/output med base64DER-konvertering -addsigtime Legg til attributt for signeringstid -cades_strict Strict signeringgenereringSertifikatV2-attributt -cades_disable Deaktiver generering av signeringCertificateV2-attributter

For å signere en fil via cmd ved å bruke csptest.exe, må du derfor ringe kommandoen:

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

hvor:
-min- Indikerer eieren av nøkkelen;
-i- Spesifiserer hvilken fil som skal signeres. Hvis filen ikke er i mappen med csptest, må du spesifisere hele banen.;
-ute— Angir navnet på signaturfilen;

Du kan sjekke signaturen på Gosulsug-nettstedet på denne lenken.

Mest sannsynlig. Hvis du nå laster opp denne filen på nettstedet til offentlig tjeneste, vil det vises en feil. Dette skyldes at det er behov for informasjon om sertifiseringssenteret. Dessuten vil ikke dato og klokkeslett for signering av dokumenter være overflødig. For å gjøre dette må vi legge til to parametere til kommandoen vår:

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

Hvis vi trenger en signatur i et sammenkoblet format, legger vi til en parameter til:

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

Merk: Hvis dokumentet er signert med en feil
Kan ikke åpne fil
Det oppstod en feil under kjøring av programmet.
.\signtsf.c:321:Kan ikke åpne inndatafilen.
Feilnummer 0x2 (2).
Den angitte filen ble ikke funnet.

når du ringer, som i siste eksempel, og du er sikker på at banene i parameterne -inn og ut er riktige, prøv å lage en signatur i henhold til det første eksemplet, og kjør kommandoen med hele settet med parametere!!!

Vi mottok hovedkommandoen for signering. La oss nå forenkle prosedyren litt. La oss lage en bat-fil, som, når den er lansert, vil signere Secret.txt-filen som ligger i samme mappe som bat-filen. Åpne notisblokk og skriv følgende kode:

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

Klikk "Fil" -> "Lagre som" -> Angi navnet fra .bat -> "Lagre"
Sobsvenno og alt. For referanse:
chcp 1251- Stiller inn kodingen for CMD. Nødvendig for gyldig behandling av russiske bokstaver i koden;
sett CurPath=%cd%- Lagrer banen til gjeldende CMD-katalog til CurPath-variabelen;
cd- Angir gjeldende CMD-bane;
anrop- Lanserer programmet;