示例#1
0
        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();
        }
示例#2
0
        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);
        }