Ошибка SSL-сертификата в клиенте C #, работающем на хосте macOs, подключающемся к эмулятору dos cosmos, работающему в Windows 10 VM - PullRequest
1 голос
/ 21 мая 2019

Ошибка SSL сертификата при подключении клиента C # к эмулятору Cosmos DB, запущенному на другом компьютере.Среда: хост ОС MacOS Mojave v10.14.4 - работает клиентский код Гостевая ОС VMware Fusion Windows 10 Pro - работает эмулятор Cosmos DB.

Что почти работает: использование Chrome в MacOS для доступа к эмулятору Cosmos DB, работающему в гостевой ОС WindowsПолучает безопасное и зашифрованное соединение, но сообщает (ERR_CERT_AUTHORITY_INVALID).Однако интерфейс браузера работает, а документы можно вставлять и запрашивать с помощью страницы браузера.

Что не работает: подключение клиента C #, работающего в хост-ОС, к эмулятору Cosmos DB, запущенному в гостевой ОС Windows.,Используемый код клиента: https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-dotnet-core-get-started-preview https://github.com/Azure-Samples/cosmos-dotnet-core-getting-started

Я создаю локальную среду разработки MacOS для Visual Studio 2019 для разработки мобильных клиентов Xamarin, которые подключаются к веб-API ASP.NET, который подключается к CosmosDBEmulator.Эмулятор CosmosDB работает только в Windows, поэтому у меня есть гостевая ОС Windows.

Я использую предоставленный MS пример проекта C # для проверки подключения к Cosmos DB.

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

Конфигурация Cosmos: - Я использовал / GenKeyFile для генерации нового закрытого ключа.- Я использую / KeyFile = и / AllowNetworkAccess при запуске Cosmos.- Я использовал / GenCert для генерации и установки нового самозаверяющего сертификата SLL для IP-адреса гостевой ОС Windows VM.- Я использовал Windows MMC для экспорта сертификата

Конфигурация MacOS: - Я импортировал экспортированный сертификат в цепочку ключей MacOS - Я установил значения и в клиенте C # в соответствии с конфигурацией эмулятора Cosmos DB

Я использую следующий код, предоставленный Microsoft: https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-dotnet-core-get-started-preview https://github.com/Azure-Samples/cosmos-dotnet-core-getting-started Примечание. При использовании .NET Core 2.1 SDK

FWIW код отлично работает в гостевой ОС Windows 10, говоряв эмулятор на localhost.

Я получаю следующую ошибку при запуске кода в MacOS при попытке подключения к эмулятору Cosmos DB.System.Security.Authentication.AuthenticationException: удаленный сертификат является недействительным в соответствии с процедурой проверки.

Вопросы: 1. Я пропустил какие-либо шаги в процессе настройки, описанном выше?2. Есть ли хорошие инструменты для устранения ошибок SSL, как это?4. Есть ли хорошие посты о том, как заставить работать этот тип конфигурации?(Я погуглил шторм, но вышел сухой)

...