使用公钥/私钥的iOS App数据加密

cel

我是这个主题的新手,对于在iOS应用程序中实现公钥/私钥加密的任何帮助/指导,我们将不胜感激。看起来安全框架可以满足我的需要,但我想确保获得最佳建议。

基本上,用户A和用户B要安全地通信。用户A将具有用户B的公共密钥,并使用该公共密钥来加密消息。然后,用户B获取消息并使用私钥对其解密。

所以我想问题是:

  1. 生成公钥/私钥的最佳方法是什么。那会是OpenSSL吗?

  2. 如果是OpenSSL,是否可以在iOS设备中执行此操作,还是我需要依靠服务器/外部生成的私钥/公钥?

  3. 如果唯一的选择是在iOS设备外部生成私钥/公钥,那么这是否使iOS设备通过HTTP请求密钥文件(就像正常下载一样)很简单?

  4. 当最终用户拥有公用密钥和私有密钥时,是否有一个简单的教程/示例显示了如何使用RSA加密和解密消息(RSA是btw选项)吗?

扎夫
  1. 尽可能避免使用OpenSSL,请在OSX / iOS上使用Apple加密方法。
  2. 在服务器端,OpenSSL可能是最好的选择。
  3. 您可以使用https安全地传输密钥。
  4. 以下链接提供了很好的示例代码:

要生成密钥,SecKeyGeneratePair()请参见SO Question示例代码。

要获取用于传输的密钥,SecItemCopyMatching ()请参见SO Answer(示例代码)。

有关执行RSA加密的示例代码,请参见此答案

笔记:

私钥/公钥在同一台计算机上一起生成。可以轻松,公开地共享公共密钥,但是问题在于验证公共密钥。https是一种传输密钥的可行方法。

通常,数据不会使用公共/私钥进行加密/解密。这有两个原因:速度很慢,数据大小有限(受密钥大小限制)。通常,使用对称方法(例如AES和随机密钥)对数据进行加密,然后使用公钥对密钥进行加密,然后使用私钥进行发送和解密。然后,该密钥用于解密AES加密的实际数据。

Apple不再提供OpenSSL,您需要获取所需版本的源代码并自行构建。声明的不提供OpenSSL的原因是次要版本不向后兼容,并且在Apple提供当前版本并且开发人员使用不兼容的较早版本的应用程序时造成了问题。

对于教程:Google。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

公钥加密与私钥加密

来自分类Dev

如何在Ruby中使用PKI(公钥/私钥)加密?

来自分类Dev

C#BouncyCastle-使用公钥/私钥进行RSA加密

来自分类Dev

如何在Ruby中使用PKI(公钥/私钥)加密?

来自分类Dev

Qt:使用私钥/公钥进行数据解密

来自分类Dev

在C#中使用RSA公钥和私钥加密数据

来自分类Dev

使用公钥和私钥发送加密和签名的电子邮件以在 FMCSA 中提交数据

来自分类Dev

如何在C#RSA中使用私钥加密和使用公钥解密

来自分类Dev

Python pyCrypto RSA加密方法使用私钥或公钥提供相同的结果

来自分类Dev

AES 256加密:公钥和私钥如何生成和使用.net

来自分类Dev

使用nodeJS和Objective-C的非对称公钥/私钥加密RSA

来自分类Dev

使用nodeJS和Objective-C的非对称公钥/私钥加密RSA

来自分类Dev

使用DER格式的RSA公钥文件的iOS加密

来自分类Dev

如何在没有对称密码的情况下对短数据使用公钥/私钥

来自分类Dev

Python加密,RSA公钥/私钥,带有大文件

来自分类Dev

公钥可以具有与私钥不同的长度(加密)吗?

来自分类Dev

PHP openssl加密解密错误?无效的公钥/私钥?

来自分类Dev

如何在SJCL中实现公钥/私钥加密?

来自分类Dev

公钥/私钥加密如何工作,由谁生成密钥对?

来自分类Dev

公钥可以具有与私钥不同的长度(加密)吗?

来自分类Dev

PHP openssl加密解密错误?无效的公钥/私钥?

来自分类Dev

公钥/私钥对AES会话密钥进行加密

来自分类Dev

快速使用公钥加密

来自分类Dev

在移动客户端和服务器PHP之间使用公钥/私钥进行加密

来自分类Dev

使用现有公钥的RSA加密

来自分类Dev

使用公钥加密的软件许可方法

来自分类Dev

使用IOS进行公钥加密和使用C#进行解密

来自分类Dev

使用Objective C在iOS中使用公钥加密或签名字符串

来自分类Dev

使用IOS进行公钥加密和使用C#进行解密

Related 相关文章

  1. 1

    公钥加密与私钥加密

  2. 2

    如何在Ruby中使用PKI(公钥/私钥)加密?

  3. 3

    C#BouncyCastle-使用公钥/私钥进行RSA加密

  4. 4

    如何在Ruby中使用PKI(公钥/私钥)加密?

  5. 5

    Qt:使用私钥/公钥进行数据解密

  6. 6

    在C#中使用RSA公钥和私钥加密数据

  7. 7

    使用公钥和私钥发送加密和签名的电子邮件以在 FMCSA 中提交数据

  8. 8

    如何在C#RSA中使用私钥加密和使用公钥解密

  9. 9

    Python pyCrypto RSA加密方法使用私钥或公钥提供相同的结果

  10. 10

    AES 256加密:公钥和私钥如何生成和使用.net

  11. 11

    使用nodeJS和Objective-C的非对称公钥/私钥加密RSA

  12. 12

    使用nodeJS和Objective-C的非对称公钥/私钥加密RSA

  13. 13

    使用DER格式的RSA公钥文件的iOS加密

  14. 14

    如何在没有对称密码的情况下对短数据使用公钥/私钥

  15. 15

    Python加密,RSA公钥/私钥,带有大文件

  16. 16

    公钥可以具有与私钥不同的长度(加密)吗?

  17. 17

    PHP openssl加密解密错误?无效的公钥/私钥?

  18. 18

    如何在SJCL中实现公钥/私钥加密?

  19. 19

    公钥/私钥加密如何工作,由谁生成密钥对?

  20. 20

    公钥可以具有与私钥不同的长度(加密)吗?

  21. 21

    PHP openssl加密解密错误?无效的公钥/私钥?

  22. 22

    公钥/私钥对AES会话密钥进行加密

  23. 23

    快速使用公钥加密

  24. 24

    在移动客户端和服务器PHP之间使用公钥/私钥进行加密

  25. 25

    使用现有公钥的RSA加密

  26. 26

    使用公钥加密的软件许可方法

  27. 27

    使用IOS进行公钥加密和使用C#进行解密

  28. 28

    使用Objective C在iOS中使用公钥加密或签名字符串

  29. 29

    使用IOS进行公钥加密和使用C#进行解密

热门标签

归档