Une signature numérique est un rendu électronique qui est utilisé pour authentifier l'identité de l'expéditeur d'un message, ou le signataire d'un document. Il peut également être utilisé pour vérifier que le contenu d'origine du message ou le document est inchangé. Une clé est créée par une autorité de clés publique- privée et installé sur le serveur . Il est utilisé pour chiffrer un message avant de l'envoyer . Le récepteur utilise alors une clé publique pour déchiffrer le message . Choses que vous devez
éditeur C #
Afficher plus Instructions
1
Ouvrez un nouveau projet dans un éditeur C # .
2
Créer un fonction pour lire la signature numérique :
private bool VerifyCommand ( string text , byte [ ] signature , chaîne CertPath )
{
3
charge l' fichier de certificat à utiliser pour vérifier la signature d'un fichier : Photos
X509Certificate2 cert = new X509Certificate2 ( CertPath ) ;
4
Obtenez la clé publique du fournisseur , pour ouvrir le fichier : Photos
RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ;
5
Hash le texte :
SHA1Managed sha1 = new SHA1Managed ();
< p> UnicodeEncoding encodage = new UnicodeEncoding ();
byte [] data = encoding.GetBytes ( texte) ;
byte [] hash = sha1.ComputeHash (données) ;
6
Vérifier la signature avec le hash et fermer la fonction :
csp.VerifyHash de retour ( hachage , CryptoConfig.MapNameToOID (« SHA1 ») , signature) ;
}
7
Assurez-vous que la certification de sécurité est installé sur le serveur pour obtenir la clé publique pour la signature numérique. Sinon, l'ajouter à la "C: " drive . Elle sera appelée par le code à l'étape suivante
8
Ajout de code pour appeler VerifyCommand fonction : .
If ( VerifyCommand ( " après l'opération " , signature, @ "C: \\ MyCert.cer ")) {
MessageBox.Show (" commande POST reçu de client distant .... "); }
< p > else if ( VerifyCommand (« transaction d'annulation " , signature, @ "C: \\ MyCert.cer ")) {
MessageBox.Show (" commande Annuler reçu du client distant .. .. "); }
else if ( VerifyCommand ( " RÉCUPÉRER TRANSACTION " , signature, @ " C: \\ MyCert.cer "))
{< br >
MessageBox.Show (" RÉCUPÉRER Transaction reçu de client distant .... "); }
autre
{
MessageBox . Show ( " signature n'est pas valide "); }
utilise le certificat numérique pour vérifier la signature numérique et le valider contre les commandes autorisées
9 < p > Enregistrer le projet C # et appuyez sur la touche F5 pour exécuter le code.