Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl Kestrel和Cortana与Microsoft Bot Framework之间存在TLS问题_Ssl_Asp.net Core_Botframework_Cortana_Direct Line Botframework - Fatal编程技术网

Ssl Kestrel和Cortana与Microsoft Bot Framework之间存在TLS问题

Ssl Kestrel和Cortana与Microsoft Bot Framework之间存在TLS问题,ssl,asp.net-core,botframework,cortana,direct-line-botframework,Ssl,Asp.net Core,Botframework,Cortana,Direct Line Botframework,我已经使用.NETCore为MicrosoftBot框架创建了一个直连bot。我正在尝试将其与Cortana集成,但当我尝试使用Cortana启动应用程序时,我发现以下错误: A call to SSPI failed, The client and server cannot communication, because they do not posses a common algorithm. 当我在.Net 4.6中使用Microsoft Bot Framework nuget软件包

我已经使用.NETCore为MicrosoftBot框架创建了一个直连bot。我正在尝试将其与Cortana集成,但当我尝试使用Cortana启动应用程序时,我发现以下错误:

A call to SSPI failed, The client and server cannot communication, 
because they do not posses a common algorithm.
当我在.Net 4.6中使用Microsoft Bot Framework nuget软件包时,此证书有效,因此我非常确信它与证书(由Let's Encrypt签名)没有任何关系

这是我的设置:

 var host = new WebHostBuilder()
            .UseKestrel(options =>
            {
                //options.UseHttps("cert.pfx", "********");
                options.UseHttps(new HttpsConnectionFilterOptions()
                {
                    SslProtocols = System.Security.Authentication.SslProtocols.Tls12,
                    ServerCertificate = new X509Certificate2("cert.pfx", "******")
                });
            })
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseStartup<Startup>()
            .UseApplicationInsights()
            .UseUrls("https://*:8090")
            .Build();

        host.Run();
var host=new WebHostBuilder()
.UseKestrel(选项=>
{
//选项。使用https(“cert.pfx”,“*******”);
options.UseHttps(新的HttpsConnectionFilterOptions()
{
SslProtocols=System.Security.Authentication.SslProtocols.Tls12,
ServerCertificate=新的X509Certificate2(“cert.pfx”,“*******”)
});
})
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.UseStartup()
.UseApplicationInsights()
.useURL(“https://*:8090”)
.Build();
host.Run();
我最初没有定义SSLProtocols,因此出现了这个问题,添加支持Tls12的协议没有帮助(我假设这可能是默认的)


非常感谢您的任何见解。

不幸的是,Bot框架目前还不支持.NET内核。要跟踪此问题,请参阅:这真的会阻止SSL正常工作吗?我将我的控制器和逻辑移动到了.NETCore中的4.6版本,使用netsh绑定了证书,一切都完全按照预期工作。我还发现有趣的是,聊天窗口测试和其他直接线路连接工作正常,只有来自Cortana的呼叫失败。直接线集成的要点是它可以在任何语言中工作,所以我认为这与bot框架本身不存在兼容性问题。不幸的是,bot框架目前还不支持.NET核心。要跟踪此问题,请参阅:这真的会阻止SSL正常工作吗?我将我的控制器和逻辑移动到了.NETCore中的4.6版本,使用netsh绑定了证书,一切都完全按照预期工作。我还发现有趣的是,聊天窗口测试和其他直接线路连接工作正常,只有来自Cortana的呼叫失败。直接线集成的要点是它可以在任何语言中工作,所以我不认为这是与bot框架本身的兼容性问题。