public static void Main(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); var host = new WebHostBuilder() .UseConfiguration(config) .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup <Startup>(); if (string.Equals("Development", Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"))) { host .UseKestrel() .UseUrls("http://0.0.0.0:5001"); } else { // Only a hack, to get the service running https! Create a fake certificate for nginx var pwd = "password"; var suppliers = new[] { "CN=localhost, OU=SupplierId, OU=HipScheme, O=OrgX, C=GB" }; var cb = new X509CertBuilder(suppliers, "CN=HiP Admin, OU=hipcms, O=History in Paderborn, C=DE"); var cert = cb.MakeCertificate(pwd, "CN=C001, OU=History in Paderborn, OU=HipScheme, O=History in Paderborn, C=DE", 2); File.WriteAllBytes("cert.pfx", cert.Export(X509ContentType.Pkcs12, pwd)); host .UseKestrel(cfg => cfg.UseHttps("cert.pfx", pwd)) .UseUrls("https://0.0.0.0:5001"); } host.Build().Run(); }
public static X509Certificate2 GenerateRandomSelfSignedCertificate(string rndString, string password) { string pwd = password; var suppliers = new[] { string.Format("CN={0}, OU={0}, OU={0}, O={0}, C=GB", "CN={0}, OU=Supp{0}lierId, OU={0}, O={0}, C=GB", rndString) }; var cb = new X509CertBuilder(suppliers, string.Format("CN={0}, OU={0}, O={0}, C=GB", rndString), CertStrength.bits_512); X509Certificate2 cert = cb.MakeCertificate(pwd, string.Format("CN={0}, OU={0}, OU={0}, O={0}, C=GB", rndString), 2); return(cert); }