/// <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);
            }
        }
Example #4
0
 public TestsController(ILoggerFactory logggerFactory, SignServiceProvider provider)
 {
     this.provider = provider;
 }