ERR_SSL_VERSION_OR_CIPHER_MISMATCH при доступе к моему asp.net веб-api на Raspberry PI

#c# #asp.net-core #ssl #raspberry-pi #console-application

Вопрос:

Я написал консольное приложение .NET Core 5, которое, помимо прочего, имеет веб-API. Когда я запускаю его на своем компьютере с Windows 10, я могу получить доступ к API как из браузера, так и из почтальона.

Я установил его на Raspberry PI под управлением операционной системы Raspberry PI. Запускается консольное приложение и запускается API. Но когда я пытаюсь перейти к нему из браузера или почтальона, я получаю сообщение об ошибке:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Чтобы создать API, у меня есть следующий код:

        public static IWebHost BuildWebHost( string[] args ) =>
        WebHost.CreateDefaultBuilder( args ).UseKestrel( options =>
        {
           options.Listen( IPAddress.Parse( args[ 0 ] ), int.Parse( args[ 1 ] ), listenOptions =>
           {
              listenOptions.UseHttps( MY_PFX_FILE, MY_CERT_PASS );
           } );
        } )

         .UseStartup<StartupApi>()
         .Build();
 

args[0] в настоящее время является IP-адресом компьютера, на котором запущен API, а args[1] является портом.

Как я уже сказал, это отлично работает, когда он работает в Windows. Он выходит из строя только тогда, когда он работает на PI.

Ответ №1:

Я решил эту проблему.

Это оказался самозаверяющий сертификат, который я использовал. Это был pfx, который мы использовали для версии консольного приложения, которое мы запускали в Windows. На частного детектива это не подействовало. Я сгенерировал новый сертификат ss, и он отлично сработал.