iPhone 中使用 .NET 生成的公钥进行 RSA 加密?
如何在 iOS 中使用 RSA 加密来加密数据?我想使用从 .NET 发送的公钥进行加密。是否可以?。我如何从 .NET Web 服务发送公钥?
提前致谢, 萨纳尔
How can i encrypt data using RSA encryption in iOS?. I want to encrypt using public key that is send from .NET. is it possible?. How can i send public key from .NET webservice?.
Thanks in Advance,
Sanal
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几种选择。如果您使用 C 或 ObjectiveC,那么最简单的方法是使用 CommonCrypto。
您还可以通过 MonoTouch 在 iOS 设备上使用 C# 和 .NET 框架(免责声明,我为 Xamarin 工作)并在您的网络服务和设备之间共享代码。
是的。您通常使用对称密钥(例如 AES)加密(可能很大),然后使用公钥加密对称(秘密)密钥。请参阅我的旧博客文章,了解更多详细信息。
您可以将其作为XML发送,调用rsa.ToXmlString()以获取xmldsig定义格式的公钥。
请注意,从您之前的回答来看,尚不清楚 Web 服务是加密(并且 iOS 客户端解密)还是相反(也可能两者都是)。您需要注意私钥的生成位置以及密钥如何在服务和设备之间传输(例如使用 https)。
Several choice. If you use C or ObjectiveC then the easiest way is to use CommonCrypto.
You can also use C# and the .NET framework on your iOS devices with MonoTouch (disclaimer, I work for Xamarin) and share code between your web service and device.
Yes. You generally encrypt the (potentially large) using a symmetric key (e.g. AES) then encrypt the symmetric (secret) key using the public key. See my old blog entry for more details.
You can send it as XML, call rsa.ToXmlString () to get the public key in the xmldsig-defined format.
Note that it's unclear, from your previous answer, if the web services encrypts (and the iOS client decrypts) or the other way around (could be both too). You'll want to take care where the private key is generated and how the keys are transfered between the service and device (e.g. using https).