public void EksBuilderV1WithDummy_NLSigHasDummyText()
        {
            //Arrange
            var keyCount           = 500;
            var lf                 = new LoggerFactory();
            var eksBuilderV1Logger = new EksBuilderV1LoggingExtensions(lf.CreateLogger <EksBuilderV1LoggingExtensions>());
            var dtp                = new StandardUtcDateTimeProvider();
            var dummySigner        = new DummyCmsSigner();

            var sut = new EksBuilderV1(
                new FakeEksHeaderInfoConfig(),
                TestSignerHelpers.CreateEcdsaSigner(lf),
                dummySigner,
                dtp,
                new GeneratedProtobufEksContentFormatter(),
                eksBuilderV1Logger);

            //Act
            var result = sut.BuildAsync(GetRandomKeys(keyCount, 123)).GetAwaiter().GetResult();

            //Assert
            using var zipFileInMemory = new MemoryStream();
            zipFileInMemory.Write(result, 0, result.Length);

            using (var zipFileContent = new ZipArchive(zipFileInMemory, ZipArchiveMode.Read, false))
            {
                var nlSignature = zipFileContent.ReadEntry(ZippedContentEntryNames.NlSignature);
                Assert.NotNull(nlSignature);
                Assert.Equal(nlSignature, dummySigner.DummyContent);
            }
        }
        public void Build(int keyCount, int seed)
        {
            //Arrange
            var lf = new LoggerFactory();
            var eksBuilderV1Logger = new EksBuilderV1LoggingExtensions(lf.CreateLogger <EksBuilderV1LoggingExtensions>());
            var dtp = new StandardUtcDateTimeProvider();

            var sut = new EksBuilderV1(
                new FakeEksHeaderInfoConfig(),
                TestSignerHelpers.CreateEcdsaSigner(lf),
                TestSignerHelpers.CreateCmsSignerEnhanced(lf),
                dtp,
                new GeneratedProtobufEksContentFormatter(),
                eksBuilderV1Logger);

            //Act
            var result = sut.BuildAsync(GetRandomKeys(keyCount, seed)).GetAwaiter().GetResult();

            Trace.WriteLine($"{keyCount} keys = {result.Length} bytes.");

            //Assert
            Assert.True(result.Length > 0);

            using (var fs = new FileStream("EKS.zip", FileMode.Create, FileAccess.Write))
            {
                fs.Write(result, 0, result.Length);
            }
        }