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); }
// GET: Signature public ActionResult Index(SignatureOutputViewModel vm) { return(View(vm)); }