2011-08-30 98 views
1

我如何使用iOS中的RSA加密來加密數據?我想要使​​用從.NET發送的公鑰進行加密。可能嗎?。我怎樣才能從.NET的web服務發送公鑰?使用.NET生成的公鑰的iPhone中的RSA加密?

由於事先 薩納爾

+0

你想要做的是使用SSL。它從服務器發送一個公鑰並使用RSA(通常是),但是使用一個非常成熟的研究和設計的安全協議。你編寫代碼到設計良好的高級API來使用它。 –

回答

3

我怎樣才能在iOS中使用RSA加密的數據進行加密?

幾種選擇。如果您使用C或ObjectiveC,那麼最簡單的方法是使用CommonCrypto

您還可以使用MonoTouch(免責聲明,我爲Xamarin工作)在iOS設備上使用C#和.NET框架,並在您的Web服務和設備之間共享代碼。

我想使用從.NET發送的公鑰進行加密。可能嗎?

是的。您通常使用對稱密鑰(例如AES)對(可能較大的)進行加密,然後使用公鑰對對稱(祕密)密鑰進行加密。請參閱我的舊博客條目more details

我怎樣才能從.NET webservice發送公鑰?

你可以把它作爲XML,調用rsa.ToXmlString()得到的XMLDSIG定義格式的公鑰。

請注意,從您之前的回答來看,Web服務是否加密(以及iOS客戶端解密)或其他方式(可能都是這兩者)尚不清楚。您需要注意生成私鑰的位置以及服務和設備之間的密鑰傳輸方式(例如,使用https)。

+0

我有雙向數據傳輸。那麼我可以在哪裏存儲私鑰? –

+0

理想情況下,每邊都有自己的私鑰,每個私鑰都受其操作系統的保護。這樣它就不會通過任何網絡傳輸。 – poupou

+0

是否有可用的示例代碼,用於.NET - iPhone RSA加密。 –