RSA iPhone 公钥

发布于 2024-10-02 19:46:34 字数 89 浏览 1 评论 0原文

我有一个用 JAVA 生成的公钥。 我想使用这个密钥并使用 RSA 加密数据并将其发送到服务器。 如何使用 iPhone SDK 做到这一点?

谢谢

I have a Public Key generated in JAVA.
I want to use this key and crypt the data using RSA and send it to the server.
How can I do that using the iPhone SDK?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

め可乐爱微笑 2024-10-09 19:46:34

不幸的是,iOS 没有公共 API 来处理原始 RSA 密钥。

您可以做两件事:

1)不要为您的应用程序提供公钥,而是为您的应用程序提供证书。您可以使用SecCertificateCreateWithData导入证书。然后使用 SecTrustCreateWithCertificates 创建信任。一旦获得信任,您就可以使用 SecTrustCopyPublicKey 提取公钥。

2) 另一种选择是在您的项目中包含 OpenSSL。它拥有您需要的所有 API,您可以通过 google 搜索有关如何使用 RSA 密钥的示例代码。这可能是更简单的解决方案。

我已经提供了一个脚本来轻松地从源代码构建 OpenSSL。您可以从以下位置获取它:

http://github.com/st3fan/ios-openssl

Unfortunately, iOS has no public APIs to deal with raw RSA keys.

There are two things you can do:

1) Instead of giving your app a Public Key, give your app a certificate instead. You can import the certificate with SecCertificateCreateWithData. Then create a trust with SecTrustCreateWithCertificates. Once you have the trust, you can extract the public key with SecTrustCopyPublicKey.

2) The other option is to include OpenSSL in your project. It has all the APIs you need, you can google for example code on how to work with RSA keys. This might be the simpler solution.

I have made available a script to easily build OpenSSL from source. You can grab it from:

http://github.com/st3fan/ios-openssl

梦情居士 2024-10-09 19:46:34

如果您的公钥采用模/指数形式,这个问题可能会有所帮助:将 XML Dsig 格式转换为 DER ASN.1 公钥

我想出了如何将模数和指数二进制编码为 SecKeyWrapper 类的 DER ASN.1 格式Apple 的 CryptoExercise 项目用于导入外部密钥。

If your public key is in modulus/exponent form, this question may help: Convert XML Dsig format to DER ASN.1 public key

I figured out how to binary-encode the modulus and exponent into the DER ASN.1 format that the SecKeyWrapper class of Apple's CryptoExercise project uses to import an external key.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文