Een digitale handtekening is een elektronische weergave die wordt gebruikt om de identiteit van de afzender van een bericht , of de ondertekenaar van een document verifiëren. Het kan ook worden gebruikt om te controleren dat de oorspronkelijke inhoud van het bericht of document ongewijzigd . Een sleutel wordt gemaakt door een publiek- private key gezag en op de server geïnstalleerd . Dit wordt gebruikt om een bericht te coderen voordat het verzonden . De ontvanger gebruikt dan een publieke sleutel om het bericht te decoderen . Wat je nodig hebt C # editor Toon Meer Aanwijzingen 1 Open een nieuw project in een C # editor . Kopen van 2 Maak een functie om de digitale handtekening te lezen : private bool VerifyCommand (string tekst , byte [ ] handtekening , touwtje certPath ) { Laad de 3 certificaatbestand gebruiken om de handtekening van een bestand controleren : X509Certificate2 cert = new X509Certificate2 ( certPath ) ; 4 Verkrijg de publieke sleutel van de provider , om het bestand te openen : RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ; 5 Hash de tekst : SHA1Managed sha1 = new SHA1Managed ( ) ; UnicodeEncoding encoding = new UnicodeEncoding ( ) ; byte [ ] data = encoding.GetBytes ( tekst ) ; byte [ ] hash = sha1.ComputeHash ( data ) ; < br > 6 Verifieer de handtekening met de hash en sluit de functie : return csp.VerifyHash ( hash , CryptoConfig.MapNameToOID ( " SHA1 " ) , handtekening ) ; } < br > 7 Zorg ervoor dat de beveiliging certificering is geïnstalleerd op de server om de publieke sleutel voor de digitale handtekening te krijgen. Zo niet , voeg deze toe aan de " C : " drive . Het zal worden opgeroepen door de code in de volgende stap 8 code toe te roepen VerifyCommand functie : . If ( VerifyCommand ( " Na de transactie " , handtekening , @ " C : \\ mycert.cer " ) ) op Twitter { MessageBox.Show ( " command POST ontvangen van remote client .... " ) ; } else if ( VerifyCommand ( " CANCEL TRANSACTIE " , handtekening , @ " C : \\ mycert.cer " ) ) { MessageBox.Show ( " Cancel opdracht ontvangen van remote client .. .. " ) ; } else if ( VerifyCommand ( " RETRIEVE TRANSACTIE " , handtekening , @ " C : \\ mycert.cer " ) ) op Twitter { < br MessageBox.Show > ( " OPHALEN Transaction ontvangen van remote client .... " ) ; } anders { MessageBox . Show ( " handtekening is niet geldig " ) ; } Deze maakt gebruik van het digitale certificaat voor de digitale handtekening te verifiëren en valideren tegen de toegestane commando 9 Sla het C # project en druk op de F5 toets om de code uit te voeren .
|