En digital signatur är en elektronisk återgivning som används för att verifiera identiteten hos avsändaren av ett meddelande , eller den som har signerat ett dokument . Den kan också användas för att kontrollera att det ursprungliga innehållet i meddelandet eller dokumentet är oförändrat . En nyckel skapas av en offentlig - privat nyckel myndigheten och installeras på servern . Detta används för att kryptera ett meddelande innan det skickas . Mottagaren använder sedan en publik nyckel för att dekryptera meddelandet . Saker du behöver
C # editor
Visa fler instruktioner
1
Öppna ett nytt projekt i ett C # editor .
2
Skapa ett funktion för att läsa den digitala signaturen :
privat bool VerifyCommand ( string text , byte [ ] namnteckning , string certPath ) katalog
{
3
Ladda certifikat fil att använda för att verifiera signaturen från en fil :
X509Certificate2 cert = ny X509Certificate2 ( certPath ) ;
4
Få den publika nyckeln från leverantören , för att öppna filen :
RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ,
5
Hash texten :
SHA1Managed sha1 = ny SHA1Managed ( ) ;
UnicodeEncoding kodning = ny UnicodeEncoding ( ) ;
byte [] data = encoding.GetBytes ( text ) ,
byte [ ] hash = sha1.ComputeHash (data ) ;
6
verifiera signaturen med hash och stänga funktionen :
retur csp.VerifyHash ( hash , CryptoConfig.MapNameToOID ( " SHA1 " ) , underskrift ) ,
}
7
Kontrollera att säkerhetscertifiering är installerat på servern för att få den offentliga nyckeln för den digitala signaturen . Om inte , lägg till den " C : " enheten . Det kommer att kallas av koden i nästa steg lägga till kod för att ringa VerifyCommand funktion
8
: .
Om ( VerifyCommand ( " efter transaktionen " , signatur , @ " C : \\ mycert.cer " ) ) katalog
{
MessageBox.Show ( " POST -kommandot mottagits från fjärrklienten .... " ) ;
}
else if ( VerifyCommand ( " annulleringstransaktion " , signatur , @ " C : \\ mycert.cer " ) ) katalog
{
MessageBox.Show ( " Avbryt kommandot mottagits från fjärrklienten .. .. " ) ;
}
else if ( VerifyCommand ( " HÄMTA transaktionen " , signatur , @ " C : \\ mycert.cer " ) ) katalog
{
MessageBox.Show ( " HÄMTA transaktion mottagits från fjärrklienten .... " ) ;
}
annat
{
MessageBox . Show ( " signaturen är inte giltig " ) ;
}
Detta använder digitala certifikat för att verifiera den digitala signaturen och validera den mot de tillåtna kommandon
9
Spara C # -projektet och tryck på F5 -knappen för att köra koden .