Mono HttpListener客户端证书

Gus*_*man 10 c# mono ssl httplistener

我使用HttpListener创建了一个服务器.它在没有SSL的情况下工作得很好,但是使用SSL时会出现奇怪

我已经使用httpcfg安装了证书,甚至使用我自己的程序,它安装正确,监听器启动并提供HTTPS请求,但始终要求提供客户端证书.

它不会发生在Windows/.net上,只有Linux/mono(我使用的是ver 3.4.0)并且非常烦人,我不希望每次尝试登录客户端时都会询问用户证书.

这是单声道错误还是有任何方法可以禁用客户端证书协商?

谢谢.

Bra*_*ite 4

我也有同样的问题。我发现这是在 Mono 中硬编码的。在mcs/class/System/System.Net/HttpConnection.cs中,当调用SslServerStream 的构造函数requestClientCertificate时,您会注意到被硬编码为true.

我遇到了这个 PR,它试图将此硬编码值更改为false,但目前它被半拒绝,因为“我不想将一个硬编码值更改为另一个硬编码值”。

[更新] 我现在才意识到(OP) 是 PR 的作者:)

[更新 9/21/2016] 看起来这个问题仍然很受欢迎。如果这对任何人都有帮助,很久以前当我们无法解决这个问题时,我们就使用 nginx 作为反向代理。我很高兴我们这么做了,而且应该早点这么做。它在处理 SSL/TLS 方面比 Mono 快得多,并且允许我们更仔细地控制加密套件并及时更新安全补丁。

我正在关注Mono 4.6,它尚未发布。通过对 TLS 的彻底修改以及在运行时插入替代实现的能力,这可能为我们提供一条无需使用 nginx 反向代理的前进道路。