Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var document = Encoding.UTF8.GetBytes("Imprtant Document to sign");

            byte[] hashedDocument;


            using (var sha256 = SHA256.Create())
            {
                hashedDocument = sha256.ComputeHash(document);
            }

            var digitalSignature = new DigitalSignature();

            digitalSignature.AssignNewKey();

            var signature = digitalSignature.SignData(hashedDocument);
            var verified  = digitalSignature.VerifySignature(hashedDocument, signature);

            Console.WriteLine("Digital Signature Demonstration");
            Console.WriteLine("-------------------------------");
            Console.WriteLine("");
            Console.WriteLine($" original text  : {Encoding.Default.GetString(document)}");
            Console.WriteLine($" signature      : {Convert.ToBase64String(signature)}");
            Console.WriteLine($" verified       : {verified}");
            Console.WriteLine("");
        }
Exemplo n.º 2
0
        static void Main()
        {
            var documento = Encoding.UTF8.GetBytes("Documento para assinar");

            byte[] hashDoDocumento;

            using (var sha256 = SHA256.Create())
            {
                hashDoDocumento = sha256.ComputeHash(documento);
            }

            var assinaturaDigital = new DigitalSignature();

            assinaturaDigital.AtribuirNovaChave();

            var assinatura = assinaturaDigital.AssinarDados(hashDoDocumento);
            var verificado = assinaturaDigital.VerificarAssinatura(hashDoDocumento, assinatura);

            WriteLine("Demonstração de assinatura digital em .NET");
            WriteLine("-----------------------------------------------------------------------");
            WriteLine();
            WriteLine();
            WriteLine($"Texto original: {Encoding.Default.GetString(documento)}");
            WriteLine();
            WriteLine($"Assinatura digital: {Convert.ToBase64String(assinatura)}");
            WriteLine();

            WriteLine(verificado
                ? "A assinatura digital foi correctamente verificado."
                : "A assinatura digital não foi correctamente verificada.");

            ReadKey();
        }