public void AddPemFiles_ReadsFiles_CreatesCertificate() { var config = new ConfigurationBuilder() .AddPemFiles("instance.crt", "instance.key") .Build(); Assert.NotNull(config["certificate"]); Assert.NotNull(config["privateKey"]); var pemConfig = new PemConfigureCertificateOptions(config); var opts = new CertificateOptions(); pemConfig.Configure(opts); Assert.NotNull(opts.Certificate); Assert.Equal(Microsoft.Extensions.Options.Options.DefaultName, opts.Name); Assert.True(opts.Certificate.HasPrivateKey); }
public void CertificatesIncludeParams() { var orgId = Guid.NewGuid(); var spaceId = Guid.NewGuid(); var certWriter = new LocalCertificateWriter(); certWriter.Write(orgId, spaceId); var rootCertificate = new X509Certificate2(certWriter.RootCAPfxPath); var intermediateCert = new X509Certificate2(certWriter.IntermediatePfxPath); var clientCert = new X509Certificate2(File.ReadAllBytes(Path.Combine(LocalCertificateWriter.AppBasePath, "GeneratedCertificates", "SteeltoeInstanceCert.pem"))) .CopyWithPrivateKey(PemConfigureCertificateOptions.ReadRsaKeyFromString(File.ReadAllText(Path.Combine(LocalCertificateWriter.AppBasePath, "GeneratedCertificates", "SteeltoeInstanceKey.pem")))); Assert.NotNull(rootCertificate); Assert.NotNull(intermediateCert); Assert.NotNull(clientCert); Assert.Contains("OU=space:" + spaceId, clientCert.Subject); Assert.Contains("OU=organization:" + orgId, clientCert.Subject); }