【发布时间】:2018-07-13 14:12:08
【问题描述】:
我做了以下事情: httplistener-with-https-support 我通过所有步骤都没有出错,但现在如果我想连接到监听器,我会收到以下错误:
- 从 Chrome 我得到:“NET::ERR_CERT_COMMON_NAME_INVALID”
- 从 Edge 我得到:“DLG_FLAGS_SEC_CERT_CN_INVALID”
- 从 Firefox 我得到:“SEC_ERROR_UNKNOWN_ISSUER”
这是我的代码:
static void Main(string[] args)
{
var prefixes = "https://*:8080/";
var listener = new HttpListener();
listener.Prefixes.Add(prefixes);
listener.Start();
Console.WriteLine("Listening...");
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
// You must close the output stream.
Console.ReadKey();
output.Close();
listener.Stop();
这是我的认证:HERE
我做错了什么?
【问题讨论】:
-
证书是谁颁发的?您在浏览器中使用的主机名是什么?证书适用于哪些域?
-
我在浏览器中使用了 localhost,但我不知道证书中有哪些域。我只是做了这些步骤,我猜没有特定的域
-
我最近使用 HTTPListener 实现了 HTTPS,并通过添加防火墙规则允许通过 LAN 进行通信。不需要任何输入,一切都由 C# 代码处理。我在这里分享了解决方案的完整代码:stackoverflow.com/a/58149405/983548
标签: .net x509certificate httplistener