HttpListener服务器返回错误:(503)服务不可用
我正在尝试创建一个使用x509证书进行客户端/服务器身份validation的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证书绑定到端口,并且不需要提升权限来运行侦听器。
如果我在代码中或通过Chrome发出网络请求,我会收到此错误消息。 我在这做错了什么?
事实certificate前缀不正确,一旦我将’localhost’改为’+’,一切正常。