Как исправить 'Невозможно настроить конечную точку HTTPS. Сертификат сервера не указан, и сертификат разработчика по умолчанию не найден. ' - PullRequest
0 голосов
/ 05 ноября 2019

Я могу без проблем запустить написанное мной консольное веб-приложение и получить желаемый вывод, который отображает сообщения обратно в командную строку.

Однако теперь я ссылался на это веб-приложение на консольное приложение, и теперь я получаю сообщение об ошибке, описанное в заголовке.

Я попытался удалить сертификаты localhost из MMC вручную,в разделах «Сертификаты - текущий пользователь» и «Сертификаты - доверенные корневые центры сертификации». Я также попытался войти в командную строку Visual Studio и выполнить dotnet dev-certs https --clean, а затем dotnet dev-certs https`` as well as dotnet dev-certs https --trust``. Я также выполнил, используя verbose, что не изменило результат.

Я также восстановил IIS 10.0 Express и перезапустил свой ноутбук, чтобы приобрести IIS Express Development Certificate

Консольное приложение C # (Program.cs):

namespace Rapiscan264_3
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] argsWeb = new string[] { "192.168.2.2", "1234" };
            WebApplication1.Program.Main(argsWeb);
            ;
        }
    }
}

WebПриложение C # (Program.cs):

namespace WebApplication1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine($"HALO REST Server Simulator Copyright 2019\n");

            IPAddress ipAddress = IPAddress.Parse("192.168.2.2");
            int port = 1234;

            if (args.Length < 2)
            {
                Console.WriteLine($"*ERROR* - Number of Arguments Passed to Startup Incorrect, Expected 2 but Received { args.Length }!\n");
            }
            else
            {
                if (!IPAddress.TryParse(args[0], out ipAddress))
                {
                    Console.WriteLine($"*ERROR* - Invalid IP Address Configured, IP={ args[0] }\n");
                }

                if (!int.TryParse(args[1], out port))
                {
                    Console.WriteLine($"*ERROR* - Invalid Port Configured, Port={ args[1] }\n");
                }
            }


            string url = $"https://{ ipAddress.ToString() }:{ port.ToString() }";
            Console.WriteLine($"Starting REST Server with URL = { url }\n");
             CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
                .UseUrls("https://192.168.2.2:1234")
                .UseStartup<Startup>();
    }
}

Startup.cs:

namespace WebApplication1
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);           
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            env.EnvironmentName = "Development";
            env.WebRootPath = "C:\\Users\\jch\\source\\repos\\Rapiscan264-3\\WebApplicationSourceCode\\wwwroot";
            env.ContentRootPath = "C:\\Users\\jch\\source\\repos\\Rapiscan264-3\\WebApplicationSourceCode";

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
            }
            app.UseMvc();
        }
    }
}

Просто для повторения без консольного приложения или настройки веб-приложения, так как запускаемое приложение работает нормально и нормальноЯ хотел бы включить ожидаемые результаты, но это просто много текста из консольного приложения.

Я предполагаю, что проблема связана с сертификатом или может возникнуть конфликт, которого я не вижу.

РЕДАКТИРОВАТЬ: я должен также упомянуть, что я нахожусь на Windows 10. И когда я извиняюсь `` `dotnet dev-certs https --check``, я получаю сообщение« Был найден действительный сертификат ».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...