我需要在Swift中编写一个方法,该方法使用特定的PRIVATE KEY来使用RSA加密时间戳。这不用于身份验证(而是验证服务器的客户端应用程序),我知道您通常会使用公钥进行加密以确保安全。
我有一把钥匙:
-----开始RSA私钥----- MIICXAIBAAKBgQDIg + wteSjhalc1hSHEiUnz9X1pkrObCjaXMHqeSdfFQ / h5Q1Uh
...
o7wjoqFNxFnQMAYvkLzQZ7Y2jjfSJkaTVnhzJIZOfQ0 =
-----结束RSA私钥-----
我需要使用此特定密钥加密字符串。我已经编写了这个应用程序的Android应用程序版本,但是如果我需要专门为iOS重新生成密钥它不是问题,但我也需要这个文件用于Android版本。
我查看了以下网站:
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之类的东西)?
https://github.com/henrinormak/Heimdall - 但您无法导入自定义私钥
https://github.com/ideawu/Objective-C-RSA/blob/master/RSA.m - 看起来很啰嗦,也是目标-c
一个要求是所有应用程序都使用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