【问题标题】:Https with Tcplistener带有 Tcplistener 的 Https
【发布时间】:2010-11-25 15:49:19
【问题描述】:

我正在构建一个应用程序,它可以接收来自网站的请求以执行浏览器中不可用的功能。我使用 Tcplistener 完成了这项工作,然后通过使用 jsonp 使用 jquery 执行 ajax 调用来调用它。这很好,效果很好,但现在的问题是网站还必须能够使用 HTTPS,这会导致在进行未加密的 ajax 调用时出现警告,这是不可取的。

是否可以在没有在用户电脑上注册证书的情况下使用 https 来调用我的应用程序,因为我猜我的应用程序是服务器。

我希望这是有道理的,我不是愚蠢的。

非常感谢

【问题讨论】:

  • 我不太清楚您的应用程序(充当服务器)是直接与某些网站通信还是与客户端(浏览器)通信或两者都通信。基本思想是,如果您使用 HTTPS 来保护通信,则作为客户端的软件必须信任它从服务器软件接收到的证书,才能成功建立安全的 SSL 连接。现在,如果您在浏览器上收到警告,则浏览器不会验证 Web 服务器安装的证书,或者您通过 http 而不是 https 从页面接收到一些内容。

标签: c# ssl https tcplistener


【解决方案1】:

此答案适用于 C# .NET

对于 HTTPS 调用,MSDN 上提供了使用 TCP Listner 和 TCP Client 的示例。

https://docs.microsoft.com/en-us/dotnet/api/system.net.security.sslstream?redirectedfrom=MSDN&view=netframework-4.7.2#Anchor_5

在执行 sslStream.AuthenticateAsServer(serverCertificate, ..) 时,您应该加载 PFX 文件和密码,而不是 CER 文件,这样就不需要在客户端计算机上注册。

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多