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.