【问题标题】:How to implement a Https web server using SslStream and a self signed certificate?如何使用 SslStream 和自签名证书实现 Https Web 服务器?
【发布时间】:2015-06-03 11:32:28
【问题描述】:

问题在于 SslStream 总是读取 0 字节,因为 chrome 网络浏览器无法验证服务器的证书。

参考msdn示例代码: https://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v=vs.110).aspx

我使用 makecert.exe 创建了服务器端证书:

makecert    
    -pe                                     Exportable private key
    -n "CN=Test"                            Subject name
    -ss my                                  Certificate store name
    -sr LocalMachine                        Certificate store location
    -a sha1                                 Signature algorithm
    -sky signature                          Subject key type is for signature purposes
    -r                                      Make a self-signed cert
    "output.cer"                            Output filename

2。我已经在本地计算机 -> 受信任的根证书颁发机构中成功安装了生成的证书文件。

  1. 启动服务器并从网络浏览器访问https://localhost

从 SslStream(基于网络流创建)调用 Read 方法时,总是返回 0 字节。

是否缺少任何步骤让浏览器与 SslStream 对话成功?

【问题讨论】:

  • 显示相关代码。如果您尝试实现支持 TLS 的 HTTP 服务器,您可能希望将问题缩小到一个非常具体的问题,否则这太宽泛了。
  • 将 CN 从 test 更改为 localhost。
  • 感谢 Lex Li,成功了!

标签: c# ssl x509certificate sslstream makecert


【解决方案1】:

将 CN 从 test 更改为 localhost,然后 chrome 网络浏览器能够与 sslstream 对话。

【讨论】:

    猜你喜欢
    • 2013-11-09
    • 2016-11-08
    • 2010-12-11
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多