HttpListener服务器返回错误:(503)服务不可用

时间:2014-10-16 19:44:09

标签: c# .net ssl x509certificate

我正在尝试创建一个使用x509证书进行客户端/服务器身份验证的http侦听器。

我的服务器代码如下。

_listener = new HttpListener();
_listener.Prefixes.Add("https://localhost:8006/");
_listener.Start();
HttpListenerContext context = _listener.GetContext();

我的客户端代码如下

string url = "https://localhost:8006/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
var store = new X509Store(StoreName.TrustedPeople, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var cert = store.Certificates.Find(X509FindType.FindBySubjectName, "localhost", true);
request.ClientCertificates.Add((X509Certificate)cert[0]);
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, policyErrs) =>
   {
       return policyErrs == System.Net.Security.SslPolicyErrors.None;
   };
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

我相信我已经正确配置了一切。没有证书策略错误,我已将ssl证书绑定到端口,并且不需要提升权限来运行侦听器。

enter image description here

如果我在代码中或通过Chrome发出网络请求,我会收到此错误消息。我在这里做错了什么?

enter image description here

1 个答案:

答案 0 :(得分:2)

一旦我改变了#localhost'到' +'一切正常。