A assinatura digital é uma prestação eletrônico que é usado para autenticar a identidade do remetente de uma mensagem, ou o signatário de um documento. Ele também pode ser usado para verificar que o conteúdo da mensagem original ou documento é inalterada . A chave é criada por uma autoridade de chave pública -privada e instalado no servidor. Isso é usado para criptografar uma mensagem antes de ser enviada . O receptor , então, usa uma chave pública para descriptografar a mensagem . Coisas que você precisa
C # editor
Show Mais instruções
1
Abra um novo projeto em um editor de C #.
2
Criar um função para ler a assinatura digital :
VerifyCommand private bool ( string text , byte [] assinatura , corda CertPath )
{
3
Carregue o arquivo de certificado a ser usado para verificar a assinatura de um arquivo:
X509Certificate2 cert = new X509Certificate2 ( CertPath );
4
Obter a chave pública do provedor , para abrir o arquivo :
RSACryptoServiceProvider csp = ( RSACryptoServiceProvider ) cert.PublicKey.Key ;
5
Hash o texto:
SHA1Managed sha1 = new SHA1Managed ();
codificação UnicodeEncoding = new UnicodeEncoding ();
byte [] dados = Encoding.GetBytes (texto) ;
byte [] hash = sha1.ComputeHash ( dados);
6
Verificar a assinatura com o hash e fechar a função :
retornar csp.VerifyHash ( hash CryptoConfig.MapNameToOID ( " SHA1 " ) , assinatura );
}
7
garantir a certificação de segurança é instalada no servidor para obter a chave pública para a assinatura digital. Se não, adicione-o à "C: " drive. Ele será chamado pelo código na próxima etapa
8
Adicione código para chamar função VerifyCommand : .
If ( VerifyCommand ( "POST TRANSACTION" , assinatura, @ "C: \\ mycert.cer ")) {
MessageBox.Show (" comando POST recebido do cliente remoto .... "); }
else if ( VerifyCommand ( " a transação do cancelamento " , assinatura, @ "C: \\ mycert.cer ")) {
MessageBox.Show ( comando "Cancelar recebida do cliente remoto .. .. "); }
else if ( VerifyCommand ( " RECUPERAR TRANSACTION " , assinatura, @ " C: \\ mycert.cer ")) {
< br >
MessageBox.Show (" RECUPERAR Transação recebida do cliente remoto .... "); }
mais
{
MessageBox . Show ( "Assinatura não é válido "); }
Este utiliza o certificado digital para verificar a assinatura digital e validá-lo contra os comandos permitidos
9
Salve o projeto C # e pressione o botão F5 para executar o código.