Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να διαβάσετε μια ψηφιακή υπογραφή σε C #

Η ψηφιακή υπογραφή είναι μια ηλεκτρονική απόδοση που χρησιμοποιείται για την πιστοποίηση της ταυτότητας του αποστολέα ενός μηνύματος , ή ο υπογράφων ενός εγγράφου . Μπορεί επίσης να χρησιμοποιηθεί για να ελέγξει ότι το αρχικό περιεχόμενο του μηνύματος ή του εγγράφου είναι αμετάβλητη . Ένα κλειδί που έχει δημιουργηθεί από μια αρχή δημόσιου-ιδιωτικού κλειδιού και να εγκατασταθεί στο διακομιστή . Αυτό χρησιμοποιείται για να κρυπτογραφήσει ένα μήνυμα πριν από την αποστολή . Ο δέκτης στη συνέχεια χρησιμοποιεί ένα δημόσιο κλειδί για την αποκρυπτογράφηση του μηνύματος. Τα πράγματα που θα χρειαστείτε
editor C #
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Ανοίξτε ένα νέο έργο σε ένα editor C # . 2

Δημιουργία λειτουργία για να διαβάσετε την ψηφιακή υπογραφή :

VerifyCommand ιδιωτικό bool ( συμβολοσειρά κειμένου , byte [ ] υπογραφή , string CertPath )

{
εικόνων 3

Τοποθετήστε το αρχείο πιστοποιητικού που θα χρησιμοποιηθεί για την επαλήθευση της υπογραφής από ένα αρχείο :

X509Certificate2 cert = νέα X509Certificate2 ( CertPath ) ?
Η 4

Αποκτήστε το δημόσιο κλειδί από τον πάροχο , για να ανοίξετε το αρχείο :

RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ?
5

Hash το κείμενο :

SHA1Managed sha1 = νέα SHA1Managed ( ) ?

UnicodeEncoding encoding = νέα UnicodeEncoding ( ) ?

byte [ ] = δεδομένα encoding.GetBytes ( κείμενο ) ?

byte [ ] hash = sha1.ComputeHash ( δεδομένα) ?

6

Επιβεβαιώστε την υπογραφή με το hash και κλείστε τη λειτουργία :

επιστρέψει csp.VerifyHash ( hash , CryptoConfig.MapNameToOID ( " SHA1 " ) , υπογραφή) ?

}
Σελίδα 7

Βεβαιωθείτε ότι η πιστοποίηση ασφαλείας είναι εγκατεστημένη στο διακομιστή για να λάβετε το δημόσιο κλειδί για την ψηφιακή υπογραφή . Αν όχι , να το προσθέσετε στη " C:" . Θα κληθούν από τον κώδικα στο επόμενο βήμα
8

Προσθήκη κώδικα για να καλέσετε τη λειτουργία VerifyCommand : .

Αν ( VerifyCommand ( " POST ΣΥΝΑΛΛΑΓΩΝ » , υπογραφή , @ " C : \\ mycert.cer " ) )

{

MessageBox.Show ( " εντολή POST έλαβε από απομακρυσμένο υπολογιστή-πελάτη .... " ) ? }


else if ( VerifyCommand ( " ακυρώνει τη συναλλαγή » , υπογραφή , @ " C : \\ mycert.cer " ) )

{

MessageBox.Show ( "εντολή Ακύρωση έλαβε από απομακρυσμένο υπολογιστή-πελάτη .. .. " ) ? }


else if ( VerifyCommand ( « ΑΝΑΚΤΗΣΗ ΣΥΝΑΛΛΑΓΗ » , υπογραφή , @ " C : \\ mycert.cer " ) )

{

MessageBox.Show ( « ΑΝΑΚΤΗΣΗ συναλλαγή που έλαβε από απομακρυσμένο υπολογιστή-πελάτη ...." ) ? }


άλλο

{

MessageBox . Εμφάνιση ( " η υπογραφή δεν είναι έγκυρη" ) ? }


Αυτό χρησιμοποιεί το ψηφιακό πιστοποιητικό για την επαλήθευση της ψηφιακής υπογραφής και να επικυρώνουν το κατά τις επιτρεπόμενες εντολές
Η 9

Αποθηκεύστε το έργο C # και πατήστε το πλήκτρο F5 για να εκτελέσετε τον κώδικα .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα