public void VerifyKeyPair(ApplicationArguments arguments) { ReadKeyFromFileCommand readPublicKeyFromFile = fileCommandProvider.GetReadPublicKeyFromFileCommand(arguments.PublicKeyPath); ReadKeyFromFileCommand readPrivateKeyFromFile = fileCommandProvider.GetReadPrivateKeyFromFileCommand(arguments.PrivateKeyPath, arguments.Password); commandExecutor.ExecuteSequence(new [] { readPrivateKeyFromFile, readPublicKeyFromFile }); IVerifyKeyPairCommand verifyKeyPairCommand = keyCommandProvider.GetVerifyKeyPairCommand(readPublicKeyFromFile.Result, readPrivateKeyFromFile.Result); commandExecutor.Execute(verifyKeyPairCommand); }
public void VerifySignature(ApplicationArguments arguments) { ReadKeyFromFileCommand readPublicKeyFromFile = fileCommandProvider.GetReadPublicKeyFromFileCommand(arguments.PublicKeyPath); commandExecutor.Execute(readPublicKeyFromFile); byte[] contentToVerify; if (arguments.HasFileInput) { ReadFileCommand <byte[]> readFileToVerify = fileCommandProvider.GetReadFileCommand <byte[]>(arguments.FileInput); commandExecutor.Execute(readFileToVerify); contentToVerify = readFileToVerify.Result; } else { contentToVerify = encoding.GetBytes(arguments.Input); } byte[] signatureToVerify; if (base64.IsBase64(arguments.Signature)) { signatureToVerify = base64.FromBase64String(arguments.Signature); } else { ReadFileCommand <byte[]> readSignatureToVerify = fileCommandProvider.GetReadFileCommand <byte[]>(arguments.Signature); commandExecutor.Execute(readSignatureToVerify); string base64Signature = encoding.GetString(readSignatureToVerify.Result); signatureToVerify = base64.FromBase64String(base64Signature); } VerifySignatureCommand verifySignature = signatureCommandProvider.GetVerifySignatureCommand(readPublicKeyFromFile.Result, contentToVerify, signatureToVerify); commandExecutor.Execute(verifySignature); }