2011-11-21 73 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