public SigningServer(SigningServerConfiguration configuration, ISigningToolProvider signingToolProvider)
 {
     if (configuration == null)
     {
         throw new ArgumentNullException(nameof(configuration));
     }
     SigningToolProvider = signingToolProvider;
     Initialize(configuration);
 }
Пример #2
0
        public static void Setup(TestContext _)
        {
            _certificateHelper = new CertificateStoreHelper(CertificatePath, StoreName.My,
                                                            StoreLocation.LocalMachine);

            _configuration = new SigningServerConfiguration
            {
                Certificates = new[]
                {
                    new CertificateConfiguration
                    {
                        Thumbprint    = _certificateHelper.Certificate.Thumbprint,
                        StoreName     = (StoreName)Enum.Parse(typeof(StoreName), _certificateHelper.Store.Name),
                        StoreLocation = _certificateHelper.Store.Location
                    }
                },
                WorkingDirectory = "WorkingDirectory"
            };

            _emptySigningToolProvider = new EnumerableSigningToolProvider(Enumerable.Empty <ISigningTool>());

            var simulateSigningTool = new Mock <ISigningTool>();

            simulateSigningTool.Setup(t => t.SupportedFileExtensions).Returns(new[] { "*" });
            simulateSigningTool.Setup(t => t.SupportedHashAlgorithms).Returns(new[] { "*" });
            simulateSigningTool.Setup(t => t.IsFileSigned(It.IsAny <string>())).Returns(true);
            simulateSigningTool.Setup(t => t.IsFileSupported(It.IsAny <string>())).Returns(true);
            simulateSigningTool.Setup(t => t.SignFile(It.IsAny <string>(), It.IsAny <X509Certificate2>(), It.IsAny <string>(), It.IsAny <SignFileRequest>(), It.IsAny <SignFileResponse>())).Callback(
                (string file, X509Certificate2 cert, string timestampserver, SignFileRequest request, SignFileResponse response) =>
            {
                response.Result      = SignFileResponseResult.FileSigned;
                var fs               = new FileStream(file, FileMode.Open, FileAccess.Read);
                response.FileContent = fs;
                response.FileSize    = fs.Length;
            });

            _simultateSigningToolProvider = new EnumerableSigningToolProvider(new[] { simulateSigningTool.Object });
        }