gpt4 book ai didi

c# - 在 Service Fabric 应用程序中禁用 TLS 握手客户端证书请求

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:44 25 4
gpt4 key购买 nike

我正在 Azure Service Fabric 中创建 Web 服务并在 .net Core 2.0 上的 Docker 容器上运行。该服务旨在由无法为相互 TLS 身份验证握手提供客户端证书的客户端调用,但是,我的服务提示需要此证书,这导致客户端重置连接并且无法获得响应来自服务。

在我的设置代码中,我正在运行此 netsh 命令以将 SSL 证书绑定(bind)到端口 443:

netsh.exe http add sslcert ipport=0.0.0.0:443 certhash=E362F4AB1FC4227F3010952876B505D510B0F6AA appid={8e6ea06d-b92f-4d99-911a-3c68de243eb4} verifyclientcertrevocation=enable clientcertnegotiation=disable'

这成功完成并建立了绑定(bind),但是当客户端调用服务时(或者当我尝试从浏览器或 Fiddler/Postman 调用时)我仍然收到客户端证书请求。通过查看文档,“clientcertnegotiation”参数是此处的相关部分,据我所知,应该禁用它以删除客户端证书提示。

当客户端通过 Fiddler 进行重定向调用时,无需重置连接即可成功调用该服务。

我不确定 SF 集群端是否配置不正确,所以我也查看了那里的配置。我发现一个名为“ProtectionLevel”的安全属性被设置为“EncryptAndSign”。搜索有关此的一些信息,我在 Microsoft 的文档中找到了此页面:Understanding Protection Level .

我不确定我是否正确解析了该页面上的信息,但我认为这可能是相关的,所以我在开发环境中进行了测试,看看如果设置“ProtectionLevel”是否会得到提示为“无”,但系统仍提示我输入证书。

我也在使用 CORS,尽管我怀疑这与双向 TLS 配置有任何关系,而且无论是否启用 CORS,我都会得到相同的行为。

是否有任何其他 Service Fabric 或应用程序级设置会覆盖我的 SSL 绑定(bind)配置? Service Fabric 是否通过另一个请求客户端证书的服务进行路由?

最佳答案

我建议“verifyclientcertrevocation=enable”可能会导致它请求证书,而不管“clientcertnegotiation=disable

关于c# - 在 Service Fabric 应用程序中禁用 TLS 握手客户端证书请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56229749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com