将C#客户端连接到在另一台计算机上运行的Cosmos DB仿真器的SSL证书错误。 环境: 主机OS MacOS Mojave v10.14.4-运行客户端代码 来宾操作系统VMware Fusion Windows 10 Pro-运行Cosmos DB仿真器。
几乎可行的方法: 在MacOS中使用Chrome来访问在Windows来宾OS中运行的Cosmos DB Emulator获取安全和加密的连接,但会报告(ERR_CERT_AUTHORITY_INVALID)。但是,浏览器界面可以使用,并且可以使用浏览器页面插入和查询文档。
什么不起作用: 将主机OS中运行的C#客户端连接到Windows Guest OS中运行的Cosmos DB仿真器。 使用的客户代码: 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
我正在构建Visual Studio 2019 MacOS本地开发环境,以开发Xamarin Mobile客户端,这些客户端连接到ASP.NET Web API,该ASP.NET Web API连接到CosmosDB仿真器。 CosmosDB仿真器仅在Windows中运行,所以这就是为什么我有Windows Guest OS的原因。
我正在使用MS提供的示例C#项目来测试与Cosmos DB的连接。
我已将VM设置为与Mac在同一物理网络上的其他计算机。正如浏览器连接正常运行所证明的那样,网络本身不是问题。
Cosmos配置: -我用/ GenKeyFile生成了一个新的私钥。 -启动Cosmos时,我使用/ KeyFile =和/ AllowNetworkAccess。 -我使用/ GenCert为Windows VM来宾OS的IP地址生成并安装了新的自签名SLL证书。 -我使用Windows MMC导出证书
MacOS配置: -我将导出的证书导入到MacOS KeyChain中 -我在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.是否有关于使这种类型的配置正常工作的好帖子? (我已经在暴风雨中搜寻过,但变得干燥了)