public static void Setup(TestContext _) { _certificateHelper = new CertificateStoreHelper(CertificatePath, StoreName.My, StoreLocation.LocalMachine); var configuration = new SigningServerConfiguration { Port = 4711, TimestampServer = ConfigurationManager.AppSettings["TimestampServer"], Certificates = new[] { new CertificateConfiguration { Thumbprint = _certificateHelper.Certificate.Thumbprint, StoreName = (StoreName)Enum.Parse(typeof(StoreName), _certificateHelper.Store.Name), StoreLocation = _certificateHelper.Store.Location } }, WorkingDirectory = "WorkingDirectory" }; File.WriteAllText("config.json", JsonConvert.SerializeObject(configuration)); _service = new SigningServerService(); _service.ConsoleStart(); }
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 }); }
public void LoadCertificateFromStoreWorks() { using (var cert = new CertificateStoreHelper("Certificates/SigningServer.Test.pfx", StoreName.My, StoreLocation.LocalMachine)) { var emptyConfig = new SigningServerConfiguration { Certificates = new[] { new CertificateConfiguration { Thumbprint = cert.Certificate.Thumbprint, StoreName = (StoreName)Enum.Parse(typeof(StoreName), cert.Store.Name), StoreLocation = cert.Store.Location, } }, WorkingDirectory = "WorkingDirectory" }; var server = new Server.SigningServer(emptyConfig, CreateEmptySigningToolProvider()); Assert.AreEqual(1, server.Configuration.Certificates.Length); Assert.AreEqual(emptyConfig.Certificates[0].Thumbprint, server.Configuration.Certificates[0].Certificate.Thumbprint); } }