April 26
Una firma digitale è una rappresentazione elettronica utilizzata per autenticare l'identità del mittente di un messaggio o firmatario di un documento. Può anche essere utilizzato per verificare che il contenuto originale del messaggio o del documento è invariato. Una chiave è stato creato da un'autorità chiave pubblica-privata e installato sul server. Questo è usato per cifrare un messaggio prima di inviarlo. Il ricevitore poi utilizza una chiave pubblica per decrittografare il messaggio.
1 Aprire un nuovo progetto in un editor di C #.
2 Creare una funzione per leggere la firma digitale:
bool VerifyCommand privato (stringa di testo, byte [] firma, stringa CertPath)
{
3 Caricare il file del certificato da utilizzare per verificare la firma da un file:
X509Certificate2 cert = new X509Certificate2 (CertPath);
4 Ottenere la chiave pubblica dal provider, per aprire il file:
RSACryptoServiceProvider CSP = (RSACryptoServiceProvider) cert.PublicKey.Key;
5 Hash il testo:
sha1 SHA1Managed = new SHA1Managed ();
UnicodeEncoding encoding = new UnicodeEncoding ();
byte [] = dati encoding.GetBytes (testo);
byte [] = hash sha1.ComputeHash (dati);
6 Verificare la firma con l'hash e chiudere la funzione:
tornare csp.VerifyHash (hash, CryptoConfig.MapNameToOID ( "SHA1"), firma);
}
7 Assicurarsi che la certificazione di sicurezza è installato sul server per ottenere la chiave pubblica per la firma digitale. In caso contrario, aggiungerlo alla "C:" drive. Sarà chiamato dal codice nel passaggio successivo.
8 Aggiungere codice per chiamare la funzione VerifyCommand:
if (VerifyCommand ( "POST TRANSAZIONE", firma, @ "C: \ mycert.cer"))
{
MessageBox.Show ( "comando POST ricevuto dal client remoto ....");
}
else if (VerifyCommand ( "ANNULLA TRANSAZIONE", firma, @ "C: \ mycert.cer"))
{
MessageBox.Show ( "Cancellare comando ricevuto dal client remoto ....");
}
else if (VerifyCommand ( "RECUPERA TRANSAZIONE", firma, @ "C: \ mycert.cer"))
{
MessageBox.Show ( "recuperare transazione ricevuto dal client remoto ....");
}
altro
{
MessageBox.Show ( "firma non è valida");
}
Questo utilizza il certificato digitale per verificare la firma digitale e convalidare contro i comandi consentiti
9 Salvare il progetto C # e premere il tasto F5 per eseguire il codice.