public void CreatePublicationsFileFromFileWithOidAndInvalidEmail()
        {
            using (FileStream stream = new FileStream(Path.Combine(TestSetup.LocalPath, Resources.KsiPublicationsFile), FileMode.Open, FileAccess.Read))
            {
                PublicationsFileException ex = Assert.Throws <PublicationsFileException>(delegate
                {
                    new PublicationsFileFactory(new PkiTrustStoreProvider(new X509Store(StoreName.Root),
                                                                          CryptoTestFactory.CreateCertificateSubjectRdnSelector("[email protected]"))).Create(stream);
                });

                Assert.That(ex.Message, Does.StartWith("Publications file verification failed."));
            }
        }
Example #2
0
        public void HeaderMissingTest()
        {
            PublicationsFile publicationsFile = TestUtil.GetPublicationsFile();

            TlvTagBuilder builder = new TlvTagBuilder(publicationsFile.Type, publicationsFile.NonCritical, publicationsFile.Forward);

            builder.AddChildTag(publicationsFile[1]);

            PublicationsFileException ex = Assert.Throws <PublicationsFileException>(delegate
            {
                PublicationsFile newPublicationsFile = new PublicationsFile(builder.BuildTag());
            });

            Assert.That(ex.Message.StartsWith("Exactly one publications file header must exist in publications file"), "Unexpected exception message: " + ex.Message);
        }
        public void HAPublicationsFileRequestFailTest()
        {
            IKsiService haService =
                new HAKsiService(
                    null,
                    null,
                    GetPublicationsFileService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)))
                    );

            PublicationsFileException ex = Assert.Throws <PublicationsFileException>(delegate
            {
                haService.GetPublicationsFile();
            });

            Assert.That(ex.Message, Does.StartWith("Publications file header is incorrect. Invalid publications file magic bytes"));
        }
Example #4
0
        public void InvalidHeaderIndexTest()
        {
            PublicationsFile publicationsFile = TestUtil.GetPublicationsFile();

            TlvTagBuilder builder = new TlvTagBuilder(publicationsFile.Type, publicationsFile.NonCritical, publicationsFile.Forward);

            builder.AddChildTag(publicationsFile[1]);
            builder.AddChildTag(publicationsFile[0]);

            PublicationsFileException ex = Assert.Throws <PublicationsFileException>(delegate
            {
                PublicationsFile newPublicationsFile = new PublicationsFile(builder.BuildTag());
            });

            Assert.That(ex.Message.StartsWith("Publications file header should be the first element in publications file"), "Unexpected exception message: " + ex.Message);
        }
Example #5
0
        public void CertRecordAfterPubRecordsTest()
        {
            PublicationsFile publicationsFile = TestUtil.GetPublicationsFile();

            TlvTagBuilder builder = new TlvTagBuilder(publicationsFile.Type, publicationsFile.NonCritical, publicationsFile.Forward);

            builder.AddChildTag(publicationsFile[0]);
            builder.AddChildTag(publicationsFile[30]);
            builder.AddChildTag(publicationsFile[1]);

            PublicationsFileException ex = Assert.Throws <PublicationsFileException>(delegate
            {
                PublicationsFile newPublicationsFile = new PublicationsFile(builder.BuildTag());
            });

            Assert.That(ex.Message.StartsWith("Certificate records should be before publication records"), "Unexpected exception message: " + ex.Message);
        }
Example #6
0
        public void CmsSignatureNotLastTestTest()
        {
            PublicationsFile publicationsFile = TestUtil.GetPublicationsFile();

            TlvTagBuilder builder = new TlvTagBuilder(publicationsFile.Type, publicationsFile.NonCritical, publicationsFile.Forward);

            builder.AddChildTag(publicationsFile[0]);
            builder.AddChildTag(publicationsFile[1]);
            builder.AddChildTag(publicationsFile[46]);
            builder.AddChildTag(publicationsFile[30]);

            PublicationsFileException ex = Assert.Throws <PublicationsFileException>(delegate
            {
                PublicationsFile newPublicationsFile = new PublicationsFile(builder.BuildTag());
            });

            Assert.That(ex.Message.StartsWith("Cms signature should be last element in publications file"), "Unexpected exception message: " + ex.Message);
        }