【问题标题】:.NET Remoting SSL requirement.NET 远程处理 SSL 要求
【发布时间】:2010-11-20 04:47:45
【问题描述】:

我需要在 .NET C# 中实现一个远程服务器,并且由于各种原因有以下要求/限制:

  • 使用 .NET 远程处理和不 WCF
  • 不托管在 IIS 中

.NET 框架的版本没有限制(如果需要可以是 3.5)。

但是:服务器需要使用 HTTPS 提供服务。我知道我可以在 IIS 之外使用 HTTP 进行 .NET 远程处理,但是如何根据上述要求进行 HTTPS?

更新:为了进一步阐明要求,出于安全原因,我需要在任何协议上使用 SSL,出于防火墙原因,我需要在端口 80 上使用端口服务。我还需要协议是 HTTPS,这样防火墙上数据包的深度检查就不会阻塞流量。所以在 80 端口上使用非 HTTP 并不是完全正确的答案。

【问题讨论】:

  • 出于好奇,为什么不用 WCF?
  • 为什么不直接使用 TCP 通道?或者如果在同一台机器 IPC 上。
  • 这是使用远程处理的旧客户端的服务器
  • 您能否评论一下如何在此之上实现 SSL?
  • 好像其他人也有同样的问题:connect.microsoft.com/VisualStudio/feedback/…

标签: c# ssl https remoting


【解决方案1】:

要利用 .Net 远程处理 IIS 不是强制性的,通过配置文件(甚至编程方式),您可以指定 tcp:// 以通过任何 IP 端口启动侦听/响应。 在这种情况下,您只需要解决服务器如何可供客户端使用的问题。

  • 创建 Windows 服务
  • 创建带有无限循环的控制台来处理传入的请求。

在远程处理的情况下,IIS 只是作为托管您的 dll 的服务,这就是您可以替换它的原因。

【讨论】:

  • 问题是关于 SSL 和您的答案没有解决的安全性。
  • 您不需要 IIS。这就是为什么您可以通过任何协议序列化您的对象,只需使用非对称 RSA 加密流。
  • Dewfy,感谢您的回复。这正是我正在寻找的:如何将我的 SslStream 放入服务器和客户端上的远程处理框架中。
  • 在 MSDN 中查看带有 IpcChannel 的示例 - 没有 IIS,只有一个 IPSec。 IPSec - 提供安全的 Tcp 通信方式的标准功能 (msdn.microsoft.com/en-us/library/aa302429.aspx)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多