Una firma digital es una representación electrónica que se utiliza para autenticar la identidad del remitente de un mensaje o el firmante de un documento. También se puede utilizar para comprobar que el contenido original del mensaje o documento es sin cambios . Una de las claves es creado por una autoridad de clave pública -privada y se instala en el servidor. Esto se utiliza para cifrar un mensaje antes de enviarlo. Después, el receptor utiliza una clave pública para descifrar el mensaje . Cosas que necesitará
C # editor
Mostrar más instrucciones
1
Abra un nuevo proyecto en un editor de C #.
2
Crear un función para leer la firma digital :
privado VerifyCommand bool ( string texto , byte [ ] firma, cadena certpath )
{
3
Load archivo de certificado a utilizar para verificar la firma de un archivo :
X509Certificate2 cert = new X509Certificate2 ( certpath ) ;
4
Obtener la clave pública del proveedor , para abrir el archivo :
RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ;
5
Hash del texto :
SHA1Managed sha1 = new SHA1Managed ();
< p> UnicodeEncoding codifica UnicodeEncoding = new ();
byte [] data = Encoding.GetBytes (texto) ;
byte [] hash = sha1.ComputeHash (datos) ;
6
verificar la firma con el hash y cerca de la función:
csp.VerifyHash
regreso (hash , CryptoConfig.MapNameToOID ( " SHA1 ") , firma) ;
}
7
Asegúrese de que el certificado de seguridad está instalada en el servidor para obtener la clave pública de la firma digital. Si no es así, agregarlo a la " C:" . Será convocada por el código en el siguiente paso
8
Agregue código para llamar a la función VerifyCommand : .
If ( VerifyCommand ( " tras la operación " , la firma, @ " C: \\ mycert.cer ")) {
MessageBox.Show ( " comando POST recibido de cliente remoto .... "); }
< p > else if ( VerifyCommand ( " transacción de la cancelación " , la firma, @ " C: \\ mycert.cer ")) {
MessageBox.Show ( " comando Cancelar recibido de cliente remoto .. .. "); }
else if ( VerifyCommand ( " RECUPERAR transacción " , firma, @" C: \\ mycert.cer " ))
{< br >
MessageBox.Show ( " RECUPERAR Transacción recibido de cliente remoto .... "); }
más
{
mensajes . Show ( " la firma no es válido" ) ; }
utiliza el certificado digital para comprobar la firma digital y validarlo contra los comandos permitidos
9 < p > Guarde el proyecto C # y pulse la tecla F5 para ejecutar el código .