【问题标题】:how to implement ssl in a wcf rest service from a console client and a browser client如何从控制台客户端和浏览器客户端在 wcf 休息服务中实现 ssl
【发布时间】:2012-05-09 07:28:51
【问题描述】:

我有一个托管在 iis 上的 wcf rest 服务,它启用了 ssl。我有一个控制台应用程序和一个浏览器作为客户端。是否可以在控制台应用程序上实现 ssl?是可能的,任何想法或相关资源的链接都会很有帮助。

【问题讨论】:

标签: wcf rest console


【解决方案1】:

如果您想通过控制台应用程序的 REST 服务使用双向 SSL,您可以使用 WebChannelFactory 类。

http://msdn.microsoft.com/en-us/library/bb908674.aspx

客户端证书是使用WebChannelFactory.Credentials 属性设置的。这种方法的优点是您可以在配置中设置证书,以便以后可以更改它而无需重新编译。

或者,您可以使用HttpWebRequest 类及其ClientCertificates 属性。

【讨论】:

  • 我不想使用 webclient,而是先使用基础知识。我正在使用 httpwebrequest 和 httpwebresponse 类。如果您能澄清更多或提供一些相关资源的链接,这将很有帮助。如果我想在控制台应用程序上启用 ssl(以便服务器知道它是它正在与之交谈的实际客户端),我该怎么做? C# 中处理 ssl 的类和库有哪些。
  • 你的意思是你想在客户端和服务器之间做相互SSL?
  • 当我在控制台应用程序中托管我的服务时,我也收到以下错误。HTTP 无法注册 URL https://+:443/Service1.svc/ 因为 TCP 端口 443 正在被另一个使用应用程序。
  • 听起来您在控制台应用程序中托管该服务。我从您的问题中了解到,该服务托管在 IIS 中,而控制台应用程序是客户端?如果您尝试在装有 IIS 的计算机上的控制台应用程序中托管服务,您通常需要指定一个备用端口,因为 IIS 将在端口 443 上侦听 HTTPS 流量。
  • 非常感谢迈克。有效。非常惊讶地看到,如果一个人想要一个启用 ssl 的服务而不是客户端,那么配置服务就可以了。但是 ssl 的所有内部工作都会发生吗?这是我真正需要考虑的事情。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多