Slik leser du en digital signatur i C #

Slik leser du en digital signatur i C #


En digital signatur er en elektronisk gjengivelse som brukes til å autentisere identiteten til avsenderen av en melding, eller den som signerer et dokument. Den kan også brukes til å kontrollere at det opprinnelige innholdet i meldingen eller dokumentet er uforandret. En nøkkel er skapt av et offentlig-privat nøkkel autoritet og installert på serveren. Dette brukes til å kryptere en melding før den sendes. Mottakeren bruker deretter en offentlig nøkkel for å dekryptere meldingen.

Bruksanvisning

1 Åpne et nytt prosjekt i en C # editor.

2 Lag en funksjon for å lese den digitale signaturen:

privat bool VerifyCommand (string tekst, byte [] signatur, string certPath)

{

3 Laste sertifikatfilen skal brukes til å verifisere signaturen fra en fil:

X509Certificate2 cert = ny X509Certificate2 (certPath);

4 Få den offentlige nøkkelen fra leverandøren, for å åpne filen:

RSACryptoServiceProvider CSP = (RSACryptoServiceProvider) cert.PublicKey.Key;

5 Hash teksten:

SHA1Managed SHA1 = new SHA1Managed ();

Unicode- encoding = ny Unicode- ();

byte [] data = encoding.GetBytes (tekst);

byte [] hash = sha1.ComputeHash (data);

6 Verifisere signaturen med hasj og lukke funksjonen:

tilbake csp.VerifyHash (hasj, CryptoConfig.MapNameToOID ( "SHA1"), underskrift);

}

7 Sørg for at sikkerheten sertifisering er installert på serveren for å få den offentlige nøkkelen for den digitale signaturen. Hvis ikke, legge den til i "C:" kjøre. Det vil bli oppringt av koden i neste trinn.

8 Legg kode for å ringe VerifyCommand funksjon:

if (VerifyCommand ( "POST TRANSAKSJONER", signatur, @ "C: \ mycert.cer"))

{

MessageBox.Show ( "POST-kommandoen mottatt fra eksterne klienten ....");

}

else if (VerifyCommand ( "CANCEL TRANSAKSJONER", signatur, @ "C: \ mycert.cer"))

{

MessageBox.Show ( «Avbryt kommando mottatt fra eksterne klienten ....");

}

else if (VerifyCommand ( "HENT TRANSAKSJONER", signatur, @ "C: \ mycert.cer"))

{

MessageBox.Show ( "hente Transaksjons mottatt fra eksterne klienten ....");

}

ellers

{

MessageBox.Show ( "Signatur er ikke gyldig");

}

Dette bruker digitalt sertifikat for å bekrefte den digitale signaturen og validere den mot de tillatte kommandoer

9 Lagre C # prosjekt og trykk F5-knappen for å kjøre koden.