public async Task ItRoundTripsCert(string?password) { var dir = new DirectoryInfo(Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName())); var repo = new FileSystemCertificateRepository(dir, password); var writeCert = CreateTestCert("localhost"); await repo.SaveAsync(writeCert, default); var certs = await repo.GetCertificatesAsync(default);
public async Task ItCanSaveCertsWithoutPassword(string?password) { var dir = new DirectoryInfo(Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName())); var repo = new FileSystemCertificateRepository(dir, password); var cert = CreateTestCert("localhost"); var expectedFile = Path.Combine(dir.FullName, "certs", cert.Thumbprint + ".pfx"); await repo.SaveAsync(cert, default); Assert.NotNull(new X509Certificate2(expectedFile)); }
public async Task ItCreatesCertOnDiskAsync() { var dir = new DirectoryInfo(Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName())); var repo = new FileSystemCertificateRepository(dir, "testpassword"); var cert = CreateTestCert("localhost"); var expectedFile = Path.Combine(dir.FullName, cert.Thumbprint + ".pfx"); Assert.False(dir.Exists, "Directory should not exist yet created"); await repo.SaveAsync(cert, default); dir.Refresh(); Assert.True(dir.Exists, "Directory was created"); Assert.True(File.Exists(expectedFile), "Cert exists"); }
public async Task ItCreatesCertOnDiskAsync() { var dir = new DirectoryInfo(Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName())); var repo = new FileSystemCertificateRepository(dir, "testpassword"); var key = RSA.Create(2048); var csr = new CertificateRequest("CN=localhost", key, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); var cert = csr.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddHours(1)); var expectedFile = Path.Combine(dir.FullName, cert.Thumbprint + ".pfx"); Assert.False(dir.Exists, "Directory should not exist yet created"); await repo.SaveAsync(cert, default); dir.Refresh(); Assert.True(dir.Exists, "Directory was created"); Assert.True(File.Exists(expectedFile), "Cert exists"); }