Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Come leggere una firma digitale in C #

Una firma digitale è una rappresentazione elettronica che viene utilizzato per autenticare l'identità del mittente di un messaggio , o il firmatario di un documento. Può anche essere utilizzato per verificare che il contenuto originale del messaggio o del documento è invariato . Una chiave è creata da un'autorità di chiavi pubblica- privata e installato sul server . Questo è usato per cifrare un messaggio prima di inviarlo . Il ricevitore utilizza una chiave pubblica per decifrare il messaggio . Cose che ti serviranno
C # editor
Show More Istruzioni
1

Aprire un nuovo progetto in un editor C # .
2

Creare un funzione di leggere la firma digitale :

private bool VerifyCommand ( stringa di testo , byte [ ] firma , stringa CertPath ) per

{
3

carico del file di certificato da utilizzare per verificare la firma da un file :

X509Certificate2 cert = new X509Certificate2 ( CertPath ) ;
4

Prendi la chiave pubblica dal provider , per aprire il file :

RSACryptoServiceProvider CSP = ( RSACryptoServiceProvider ) cert.PublicKey.Key ;
5

Hash il testo :

SHA1Managed sha1 = new SHA1Managed ( ) ;

UnicodeEncoding codifica = new UnicodeEncoding ( ) ;

byte [] dati = encoding.GetBytes ( testo ) ;

byte [] hash = sha1.ComputeHash (dati ) ;

6

Verificare la firma con l'hash e chiudere la funzione :

csp.VerifyHash ritorno ( hash , CryptoConfig.MapNameToOID ( " SHA1 " ) , firma) ;

}
Pagina 7

assicurano che la certificazione di sicurezza è installato sul server per ottenere la chiave pubblica per la firma digitale . In caso contrario , aggiungerlo alla " C : " drive . Si chiamerà dal codice nel passaggio successivo
8

Aggiungere il codice per chiamare la funzione VerifyCommand : .

Se ( VerifyCommand ( " OPERAZIONE POST " , firma , @ " C : \\ MyCert.cer " ) ) per

{

MessageBox.Show (" comando POST ricevuto dal client remoto .... "); }


else if ( VerifyCommand ( "ANNULLA OPERAZIONE " , firma , @ " C : \\ MyCert.cer " ) ) per

{

MessageBox.Show (" comando Annulla ricevuto dal client remoto .. .. " ) ; }


else if ( VerifyCommand ( " RECUPERA TRANSAZIONE " , firma , @" C : \\ MyCert.cer " ) ) per

{ < br

MessageBox.Show > ( " RECUPERA transazione ricevuto dal client remoto .... "); }


altro

{

MessageBox . Show ( "Firma non è valido" ) ; }


Questo utilizza il certificato digitale per verificare la firma digitale e la validazione contro i comandi ammessi

 

Programmazione © www.354353.com