En digital signatur er et 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 uendret. En nøkkel er opprettet av et offentlig- privat nøkkel myndighet og installert på serveren. Dette brukes til å kryptere en melding før den sendes . Mottakeren bruker deretter en offentlig nøkkel til å dekryptere meldingen . Du trenger
C # editor
Vis flere instruksjoner
en
Åpne et nytt prosjekt i en C # editor .
2
Opprett en funksjon for å lese den digitale signaturen : en
privat bool VerifyCommand ( string tekst , byte [ ] signatur, string certPath )
{
3
Load den sertifikat fil som skal brukes til å bekrefte signaturen fra en fil : en
X509Certificate2 cert = new X509Certificate2 ( certPath ) ;
4
Få den offentlige nøkkelen fra leverandøren, for å åpne filen :
RSACryptoServiceProvider CSP = ( RSACryptoServiceProvider ) cert.PublicKey.Key ;
5
Hash teksten : en
SHA1Managed sha1 = new SHA1Managed ();
< p> Unicode -koding = ny Unicode ();
byte [] data = encoding.GetBytes ( tekst) ,
byte [] hash = sha1.ComputeHash ( data) ;
6
Kontroller signaturen med hasj og lukke funksjon : en
retur csp.VerifyHash ( hasj, CryptoConfig.MapNameToOID ( " SHA1 ") , signatur ) ;
}
7
Sørg for at sikkerheten sertifisering er installert på serveren for å få den offentlige nøkkelen til den digitale signaturen . Hvis ikke, legger den til " C: "-stasjonen. Det vil bli kalt av koden i neste trinn
8
Legg koden for å ringe VerifyCommand funksjon: .
If ( VerifyCommand ( " POST transaksjon" , signatur, @ "C : \\ mycert.cer "))
{
MessageBox.Show ( " POST kommando mottatt fra ekstern klient .... ");
}
< p > else if ( VerifyCommand ( "TILBAKE transaksjon" , signatur, @ "C : \\ mycert.cer "))
{
MessageBox.Show ( "Avbryt kommando mottatt fra ekstern klient .. .. ");
}
else if ( VerifyCommand ( " HENT transaksjon " , signatur, @ " C : \\ mycert.cer "))
{
MessageBox.Show ( " HENT Transaction mottatt fra ekstern klient .... ");
}
annet
{
Meldingsboksen . Show ( " signatur er ikke gyldig ");
}
Dette bruker det digitale sertifikatet for å bekrefte den digitale signaturen og validere den mot de tillatte kommandoer
9 < p > Lagre C # prosjekt og trykk på F5 -knappen for å kjøre koden .