Swift:RSA使用特定私钥加密字符串

时间:2015-09-24 10:45:42

标签: swift encryption rsa

我需要在Swift中编写一个方法,该方法使用特定的PRIVATE KEY来使用RSA加密时间戳。这不用于身份验证(而是验证服务器的客户端应用程序),我知道您通常会使用公钥进行加密以确保安全。

我有一把钥匙:

  

-----开始RSA私钥-----   MIICXAIBAAKBgQDIg + wteSjhalc1hSHEiUnz9X1pkrObCjaXMHqeSdfFQ / h5Q1Uh
  ...
  o7wjoqFNxFnQMAYvkLzQZ7Y2jjfSJkaTVnhzJIZOfQ0 =
  -----结束RSA私钥-----

我需要使用此特定密钥加密字符串。我已经编写了这个应用程序的Android应用程序版本,但是如果我需要专门为iOS重新生成密钥它不是问题,但我也需要这个文件用于Android版本。

我查看了以下网站:

  1. http://jslim.net/blog/2013/01/05/rsa-encryption-in-ios-and-decrypt-it-using-php/似乎很有用,但它坚持认为密钥是.der格式 - 加上它在Objective-C中。是否可以生成DER和PEM格式的密钥对,或者在两者之间进行转换(使用https://www.sslshopper.com/ssl-converter.html之类的东西)?

  2. https://github.com/henrinormak/Heimdall - 但您无法导入自定义私钥

  3. https://github.com/ideawu/Objective-C-RSA/blob/master/RSA.m - 看起来很啰嗦,也是目标-c

  4. 一个要求是所有应用程序都使用SAME密钥 - 每次安装应用程序时都无法生成该密钥。此外,我的Android应用程序也必须能够使用密钥(我愿意重新考虑Android版本,因为保留密钥作为RAW文件对我来说不是首选)。

    任何帮助将不胜感激
    其他参考文献检查:
    How to encrypt a string with private key and decrypt with public key?
    Using RSA public key to encrypt a string

0 个答案:

没有答案