2011-11-21 75 views
7

我无法在此找到一个明确的答案,但一个我猜不到的时刻。如果不是,除了通过服务器进行代理之外,是否还有其他可行的解决方法?Windows Phone 7.1是否支持SSL套接字?

通过利息的形式,我只是试图连接到Gmail的IMAP的一个小的测试应用程序...

回答

8

不,WP7.1不支持SSL套接字。

编辑
通常你会使用SslStream实现SSL通过TCP。不幸的是,SslStream在Silverlight或WP7中不可用。你必须推出自己的(这是一个坏主意,但可能),或使用第三方库。

正如Eugene所说的那样,有SecureBlackbox,但这在商业产品中的使用超过了一千美元(取决于您的许多许可证选择)。如果你自己做这件事,那可能是前期成本太大。如果你为你的公司这样做,这可能是一个考虑的途径。

另一种选择可能是尝试在WP7中使用BouncyCastle,但BouncyCastle目前不会发布WP7兼容二进制文件,并且可能依赖于WP7中不可用的框架项目。 This blog entry意味着它可能是可能的,但需要一些调整。

如果您是独奏开发者,那么在考虑SecureBlackbox之前,我建议至少尝试使用BouncyCastle。如果您正在开发您公司的WP7应用程序,请从SecureBlackbox开始。

+0

确定吗? SSL对于Internet上的安全通信非常重要,如果Windows Phone不支持它,那将是一场灾难。 – Jonas

+3

是的,我确定。 WP7不提供SSL套接字。您可以通过WCF执行HTTPS,但不能通过套接字进行SSL。 – Randolpho

4

我们的SecureBlackbox提供SSL支持:您可以对任何传输(包括套接字和鸽子邮件)使用SSL引擎,也可以使用基于套接字的客户端组件。虽然有证书验证的WP7特定问题 - 因为WP7不允许我们访问系统证书,您需要在应用程序中拥有可信证书列表。我们的组件不是一个大问题(SecureBlackbox也包含完整的证书管理),但您需要了解这一额外步骤。

据我所知,/ n Software提供的IPWorks是为Windows Phone Mango提供的,但我不确切知道它们在SSL方面提供了什么。

+0

鉴于SslStream在Silverlight或WP7中不可用,这可能是最佳选择。我讨厌引导人们走向一个商业产品,但是如果他真的想要SSL并且不想推出他自己的产品,OP可能不得不掏腰包。 – Randolpho

+0

我为/ n软件工作。我们的Windows Phone工具包支持多种SSL选项,包括FTPS,HTTPS,SSL上的IMAP/POP/SMTP等。您可以在此处找到相关信息(http://www.nsoftware.com/ipworks/ssl/) – Briggs

2

我确实得到了Bouncy Castle compiling for CF 3.5 - 在Windows Phone上使用这项工作可能不是一个好习惯。

在内部,我们一直在使用Compact Framework应用程序的内部端口OpenSSL多年,它并不是一个困难的端口。我怀疑在Phone下工作也不会太困难。

+0

我其实喜欢将OpenSSL移植到我提供的任一选项上。 +1 :) – Randolpho

+0

是的,我真的应该绕过Codeplexing的工作 - 在我的待办事项列表上已经有4年左右的时间了.... – ctacke

+0

就像其他项目一样,我“做”。:) – Randolpho