public static SignatureOutputViewModel GenerateSignature(this SignatureInputViewModel vm)
        {
            var inputBytes = Encoding.ASCII.GetBytes(vm.InputText); // new byte[] { };

            IHashAlgorithm hash = GetHashAlgorithm(vm.SelectedHashAlgorithmName);

            IAsymmetricCryptoAlgorithm asymmetric =
                GetAsymmetricAlgorithm(vm.SelectedAsymmetricAlgorithmName, vm.SelectedAsymmetricAlgorithmKey);

            var signature = new Core.Signature.DigitalSignature(hash: hash, algorithm: asymmetric);

            var _sign = signature.Sign(input: inputBytes);

            var valid = signature.Check(_sign);

            var file   = "";
            var output = new SignatureOutputViewModel(_sign, vm.SelectedHashAlgorithmName,
                                                      vm.SelectedAsymmetricAlgorithmName, vm.SelectedAsymmetricAlgorithmKey,
                                                      file: Constants.File.Name.SIGNATURE)
            {
                InputText = vm.InputText
            };

            return(output);
        }
Exemplo n.º 2
0
 // GET: Signature
 public ActionResult Index(SignatureOutputViewModel vm)
 {
     return(View(vm));
 }