回答
我不太了解iOS,但Certificate, Key, and Trust Services Reference似乎是你所需要的。看起来SecKeyEncrypt将在某个时候被你使用。
是的,要使用此API,我需要RSA public ey的SecKeyRef,我有NSSTring。我无法得到它的SecKeyRef。我正在使用iOS 4.2 – macdev30
@ macdev30,我正在努力解决同样的问题:使用NSString RSA公钥进行加密。你有没有设法解决这个问题? – juanignaciosl
iOS没有针对RSA的特殊API,但有一些关于证书的API。您可以使用这些API通过RSA加密您的数据。
首先,您必须使用openssl来生成您的RSA私钥和公钥。最重要的是公钥必须签名。这是一个生成密钥的指令。
openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650
不过,如果你已经有了一个私钥(.PEM文件),您可以按照指示:
openssl req -new -out cert.csr -key private_key.pem
openssl x509 -req -in cert.csr -out public_key.der -outform der -signkey private_key.pem -days 3650
您可以通过在Xcode中打开它检查public_key.der。
当您得到正确的public_key.der文件时,您可以查看RSA.h和RSA.m here。对不起,我没有时间再次用英语重写这篇文章。
这波德封装加密:https://github.com/xjunior/XRSA
- 1. RSA加密公钥?
- 2. 使用RSA公钥加密DSA私钥
- 3. 使用RSA公钥加密字符串
- 4. 使用公钥的Java RSA加密
- 5. RSA公钥加密openssl
- 6. RSA加密基于公钥
- 7. 使用RSA公钥解密使用RSA私钥加密的字符串
- 8. 使用RSA公钥来解密使用RSA被加密的字符串私钥
- 9. 使用Java中的RSA公钥文件加密AES密钥
- 10. 用公钥解密RSA
- 11. Python:Pycrypto RSA公共密钥加密错误
- 12. 加密密码(RSA)与公钥
- 13. c#的RSA公共密钥的公钥#
- 14. RSA:在.NET中使用公钥解密?
- 15. C#RSA使用公钥解密 - Bouncy Castle
- 16. 用RSA公钥和私钥加密和解密一个SecretKey
- 17. 使用RSA公钥和私钥在C#中加密数据
- 18. 如何使用rsa c仅公钥进行加密和解密#
- 19. RSA加密使用现有的公共密钥
- 20. 使用多个RSA公共密钥进行加密
- 21. 使用公钥进行RSA加密。基于密钥的数据大小
- 22. RSA加密 - 用私钥
- 23. 将PHP RSA公共密钥转换为Android公共密钥
- 24. RSA加密,密钥存储
- 25. 加载公钥为公共加密创建rsa对象
- 26. Android使用RSA加密字符串公钥
- 27. RSA C#加密公钥与PHP一起使用openssl_private_decrypt():Chilkat,BouncyCastle,RSACryptoServiceProvider
- 28. 如何在php中使用rsa公钥加密数据
- 29. 使用来自SQL Server的公钥的.Net中的RSA加密?
- 30. 在Android中使用base64编码的公钥加密RSA
只看如何使用RSA加密此问题:http://stackoverflow.com/questions/4211484/send-rsa-public-key-to-iphone-and -use-it-to-encrypt –
看到这个问题和答案:http://stackoverflow.com/questions/28291609/encryption-with-rsa-public-key-on-ios/28291683#28291683 – ideawu