Windows Phone 7.1支持SSL套接字吗?

7
我找不到一个明确的答案,但目前我猜是不行的。如果不行,除了通过服务器代理之外,是否有其他可能的解决方法?
顺便说一下,我只是想连接到 Gmail imap 以进行一个小型测试应用程序...
3个回答

8
不,WP7.1不支持SSL套接字。
编辑 通常情况下,您会使用SslStream在TCP上实现SSL。不幸的是,SslStream在Silverlight或WP7中不可用。您必须自己编写代码(这是一个坏主意,但可能),或使用第三方库。
正如Eugene所提到的,有SecureBlackbox,但这对于商业产品来说超过一千美元(最低限度,取决于您的许可选择),如果您是个人开发者,则可能是太大的前期成本。如果您为公司做这件事,那么这可能是一个值得考虑的路线。
另一个选择可能是尝试在WP7中使用BouncyCastle,但是BouncyCastle目前没有发布WP7兼容的二进制文件,并且可能依赖于在WP7中不可用的框架项。这篇博客文章暗示可能是可能的,但需要进行一些调整。
如果你是一个独立开发者,我建议先尝试BouncyCastle,然后再考虑SecureBlackbox。如果你正在为公司的WP7应用程序提供服务,请从SecureBlackbox开始。

你确定吗?SSL对于互联网上的安全通信非常重要,如果Windows Phone不支持SSL,那将是一场灾难。 - Jonas
3
是的,我确定。WP7不提供SSL套接字。您可以通过WCF进行HTTPS,但无法通过套接字进行SSL。 - Randolpho

4
我们的 SecureBlackbox提供SSL支持:您可以将SSL引擎与任何传输(包括套接字和鸽子邮件)一起使用,或者您可以使用基于套接字的客户端组件。然而,WP7在证书验证方面存在特定问题-因为WP7不允许我们访问系统证书,您需要在应用程序中拥有受信任的证书列表。这对我们的组件来说不是一个大问题(SecureBlackbox还包括完整的证书管理),但您需要注意这个额外的步骤。
据我所知,/n Software的IPWorks可用于Windows Phone Mango,但我不确定他们在SSL方面提供了什么。

考虑到Silverlight或WP7中没有SslStream,这可能是最好的选择。我不喜欢引导人们使用商业产品,但如果OP真的想要SSL并且不想自己开发,他可能需要花费一千多美元。 - Randolpho
我在/n软件工作。我们的Windows Phone工具包支持各种SSL选项,包括FTPS、HTTPS、IMAP/POP/SMTP over SSL等。您可以在此处找到有关此信息的详细信息(http://www.nsoftware.com/ipworks/ssl/)。 - Briggs

2
我已将 Bouncy Castle编译为CF 3.5 - 可能可以借鉴此工作来在Windows Phone上使用。

我们内部一直在使用Compact Framework应用程序的OpenSSL,这不是一个难以移植的端口。我认为在Phone上使其运行也不会太困难。


我实际上很喜欢将OpenSSL移植到我提出的任何一种选项中的想法。+1 :) - Randolpho
是的,我真的应该着手将那项工作放到Codeplex上——这件事已经在我的待办清单上约四年了…… - ctacke
就像我“做”的每个其他项目一样。 :) - Randolpho
谢谢 - 我首先会尝试使用Bouncy Castle,如果失败了,那么也许会考虑使用OpenSSL...但我认为如果我无法使前者工作,那么后者就不值得尝试! - LJW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接