En digital signatur er en elektronisk gengivelse , der bruges til at godkende identiteten på afsenderen af en besked eller underskriveren af et dokument. Det kan også bruges til at kontrollere , at det oprindelige indhold af meddelelsen eller dokumentet er uændret. En nøgle er skabt af et offentligt- privat nøgle myndighed og installeret på serveren . Dette bruges til at kryptere en meddelelse , før den sendes . Modtageren anvender derefter en offentlig nøgle til at dekryptere meddelelsen . Ting du skal
C # editor
Vis Flere Instruktioner
1
Åbn et nyt projekt i en C # editor.
2
Opret en funktion til at læse den digitale signatur : Hej
private bool VerifyCommand (string text , byte [ ] signatur string certPath )
{
3
Ilæg certifikat fil til brug til at bekræfte signaturen fra en fil : Hej
X509Certificate2 cert = new X509Certificate2 ( certPath ),
4
Få den offentlige nøgle fra udbyderen , for at åbne filen :
RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ,
5
Hash teksten : Hej
SHA1Managed SHA1 = new SHA1Managed ();
< p> UnicodeEncoding kodning = new UnicodeEncoding ();
byte [] data = encoding.GetBytes (tekst ),
byte [] hash = sha1.ComputeHash (data) ;
< br > 6
bekræfte signaturen med hash og lukke funktionen : Hej
retur csp.VerifyHash (hash , CryptoConfig.MapNameToOID ( " SHA1 ") undertegnelse),
} < br >
7
Sørg for, at sikkerhedscertificering er installeret på serveren for at få den offentlige nøgle til den digitale signatur . Hvis ikke, føje det til "C: " drev . Det vil blive kaldt ved koden i næste trin
8
Tilføj kode til at kalde VerifyCommand funktion: .
If ( VerifyCommand ( " POST transaktion" , underskrift, @ "C: \\ mycert.cer " ) )
{
MessageBox.Show ( " POST kommando modtaget fra fjernklient .... ");
}
< p > else if ( VerifyCommand ( " CANCEL transaktion" , underskrift, @ "C: \\ mycert.cer " ) )
{
MessageBox.Show ( "Cancel kommando modtaget fra fjernklient .. .. ");
}
else if ( VerifyCommand ( " RETRIEVE transaktion " , underskrift, @ " C: \\ mycert.cer " ) )
{ < br >
MessageBox.Show ( " HENT Transaction modtaget fra fjernklient .... ");
}
ellers
{
MessageBox . Show ( "Signature er ikke gyldig ");
}
Dette bruger det digitale certifikat til at kontrollere den digitale signatur og validere den mod de tilladte kommandoer
9 < p > Gem C # -projektet , og tryk på F5 tasten for at køre koden .