private static IVerificationContext GetVerificationContext(TestingRow testingRow, IKsiSignature signature, string testDataDir, bool setUserPublication = false)
        {
            IPublicationsFile publicationsFile = null;
            IKsiService       service;

            if (!setUserPublication)
            {
                publicationsFile = GetPublicationsFile(string.IsNullOrEmpty(testingRow.PublicationsFilePath) ? null : testDataDir + testingRow.PublicationsFilePath,
                                                       string.IsNullOrEmpty(testingRow.CertFilePath) ? null : testDataDir + testingRow.CertFilePath);
            }

            if (string.IsNullOrEmpty(testingRow.ResourceFile))
            {
                service = IntegrationTests.GetHttpKsiService();
            }
            else
            {
                TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
                {
                    RequestResult = File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, testDataDir + testingRow.ResourceFile))
                };
                service =
                    new TestKsiService(
                        protocol,
                        new ServiceCredentials(Properties.Settings.Default.HttpSigningServiceUser, Properties.Settings.Default.HttpSigningServicePass,
                                               TestUtil.GetHashAlgorithm(Properties.Settings.Default.HttpSigningServiceHmacAlgorithm)),
                        protocol,
                        new ServiceCredentials(Properties.Settings.Default.HttpExtendingServiceUser, Properties.Settings.Default.HttpExtendingServicePass,
                                               TestUtil.GetHashAlgorithm(Properties.Settings.Default.HttpExtendingServiceHmacAlgorithm)),
                        protocol,
                        new PublicationsFileFactory(
                            new PkiTrustStoreProvider(new X509Store(StoreName.Root),
                                                      CryptoTestFactory.CreateCertificateSubjectRdnSelector("[email protected]"))), 1, PduVersion.v2);
            }

            return(new VerificationContext(signature)
            {
                DocumentHash = testingRow.InputHash,
                UserPublication = setUserPublication ? testingRow.PublicationData : null,
                IsExtendingAllowed = testingRow.IsExtendingAllowed,
                KsiService = service,
                PublicationsFile = publicationsFile,
                DocumentHashLevel = testingRow.InputHashLevel
            });
        }
Exemplo n.º 2
0
        public void HAExtendWithOneSubServiceTimeoutTest()
        {
            TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
            {
                RequestResult     = File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_ExtendResponsePdu_RequestId_1043101455)),
                DelayMilliseconds = 3000
            };

            IKsiService haService =
                new HAKsiService(
                    null, new List <IKsiService>()
            {
                GetStaticKsiService(protocol, 1043101455),
                GetStaticKsiService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_ExtendResponsePdu_RequestId_1043101455)), 1043101455),
            },
                    null, 1000);

            haService.Extend(123);
        }
        public void HASignWithOneSubServiceTimeoutTest()
        {
            TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
            {
                RequestResult     = File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)),
                DelayMilliseconds = 3000
            };

            IKsiService haService =
                new HAKsiService(
                    new List <IKsiService>()
            {
                GetStaticKsiService(protocol, 1584727637),
                GetStaticKsiService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)), 1584727637)
            },
                    null, null, 1000);

            haService.Sign(new DataHash(Base16.Decode("019f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08")));
        }
        public void VerifyWithExtendingAndKey()
        {
            TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
            {
                PublicationsFileBytes = File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiPublicationsFile_201712))
            };

            TestKsiService staticKsiService = new TestKsiService(
                null,
                null,
                protocol,
                new ServiceCredentials(TestConstants.ServiceUser, TestConstants.ServicePass),
                protocol,
                new PublicationsFileFactory(new TestPkiTrustProvider()),
                1043101455,
                PduVersion.v2);

            VerificationResult result = Policy.Verify(TestUtil.GetSignature(Resources.KsiSignature_Ok_20171219), null, staticKsiService);

            CheckResult(result, VerificationResultCode.Ok, null, 2, typeof(KeyBasedVerificationPolicy));
        }
Exemplo n.º 5
0
        public void HAGetExtenderConfigTimeoutTest()
        {
            TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
            {
                RequestResult     = GetExtenderConfigResponsePayload(1, null, 123, 234).Encode(),
                DelayMilliseconds = 3000
            };

            IKsiService haService =
                new HAKsiService(
                    null, new List <IKsiService>()
            {
                GetStaticKsiService(protocol),
            },
                    null, 1000);

            HAKsiServiceException ex = Assert.Throws <HAKsiServiceException>(delegate
            {
                haService.GetExtenderConfig();
            });

            Assert.That(ex.Message.StartsWith("HA service request timed out"), "Unexpected exception message: " + ex.Message);
        }
Exemplo n.º 6
0
        public void HAExtendTimeoutTest()
        {
            TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
            {
                RequestResult     = File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_ExtendResponsePdu_RequestId_1043101455)),
                DelayMilliseconds = 3000
            };

            IKsiService haService =
                new HAKsiService(
                    null, new List <IKsiService>()
            {
                GetStaticKsiService(protocol, 1043101455),
            },
                    null, 1000);

            HAKsiServiceException ex = Assert.Throws <HAKsiServiceException>(delegate
            {
                haService.Extend(123);
            });

            Assert.That(ex.Message.StartsWith("HA service request timed out"), "Unexpected exception message: " + ex.Message);
        }
        public void HASignTimeoutTest()
        {
            TestKsiServiceProtocol protocol = new TestKsiServiceProtocol
            {
                RequestResult     = File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)),
                DelayMilliseconds = 3000
            };

            IKsiService haService =
                new HAKsiService(
                    new List <IKsiService>()
            {
                GetStaticKsiService(protocol, 1584727637),
            },
                    null, null, 1000);

            HAKsiServiceException ex = Assert.Throws <HAKsiServiceException>(delegate
            {
                haService.Sign(new DataHash(Base16.Decode("019f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08")));
            });

            Assert.That(ex.Message.StartsWith("HA service request timed out"), "Unexpected exception message: " + ex.Message);
        }