/// <summary> /// Метод выполнения тестов подписи Soap сообщений СМЭВ /// </summary> /// <param name="csp"></param> /// <param name="directory"></param> /// <param name="mr"></param> /// <param name="thumbprint"></param> private void SignSoapExecuteTest(CspType csp, string directory, Mr mr, string thumbprint) { SignServiceProvider provider = new SignServiceProvider(csp, new LoggerFactory()); var files = Utils.GetFilesList(directory); foreach (var file in files) { var data = Utils.GetTextFromFile(file); var signedXml = provider.SignSoap(data, mr, thumbprint); Assert.IsTrue(!string.IsNullOrEmpty(signedXml)); } }
/// <summary> /// Метод выполнения тестов формирования хэш /// </summary> /// <param name="csp"></param> /// <param name="directory"></param> /// <param name="thumbprint"></param> private void CreateHashExecuteTest(CspType csp, string directory, string thumbprint) { SignServiceProvider provider = new SignServiceProvider(csp, new LoggerFactory()); var files = Utils.GetFilesList(directory); foreach (var file in files) { var data = Utils.GetStreamFromFile(file); var stream = new MemoryStream(data); var hash = provider.CreateHash(stream, thumbprint); Assert.IsTrue(!string.IsNullOrEmpty(hash)); } }
/// <summary> /// Метод выполнения тестов подписи данных /// </summary> /// <param name="csp"></param> /// <param name="directory"></param> /// <param name="thumbprint"></param> private void SignDataExecuteTest(CspType csp, string directory, string thumbprint) { SignServiceProvider provider = new SignServiceProvider(csp, new LoggerFactory()); var files = Utils.GetFilesList(directory); foreach (var file in files) { var data = Utils.GetStreamFromFile(file); var sign = provider.Sign(data, thumbprint); Assert.IsNotNull(sign); Assert.IsTrue(sign.Length > 0); X509Certificate2 cert = null; bool isVerify = provider.VerifyDetachedMessage(sign, data, false, ref cert); Assert.IsTrue(isVerify); Assert.IsNotNull(cert); } }
public TestsController(ILoggerFactory logggerFactory, SignServiceProvider provider) { this.provider = provider; }