如何使用SslStream和自签名证书实现Https Web服务器?

时间:2015-06-03 11:32:28

标签: c# ssl x509certificate sslstream makecert

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

请参阅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
  2. 从SslStream(基于网络流创建)调用Read方法时,它总是返回0个字节。

    是否有任何步骤缺失,以便让浏览器与SslStream成功对话?

1 个答案:

答案 0 :(得分:1)

将CN从测试更改为localhost,然后chrome web浏览器能够与sslstream通信。