Tom*_*ing 5 encryption macos cocoa rsa objective-c
我正在攻击需要RSA加密的东西,我有一些看起来像这样的代码:
- (NSData *)RSAEncryptData:(NSData *)data {
NSMutableData * encrypted = [NSMutableData dataWithLength:256];
RSA * rsa = RSA_new();
rsa->n = BN_bin2bn(modulus.bytes, modulus.length, NULL);
rsa->e = BN_bin2bn(exponent.bytes, exponent.length, NULL);
RSA_public_encrypt(data.length, data.bytes, encrypted.mutableBytes, rsa, RSA_PKCS1_OAEP_PADDING);
RSA_free(rsa);
return encrypted;
}
Run Code Online (Sandbox Code Playgroud)
模数和指数是NSData对象.
这很好用,除了所有RSA方法之外,编译器还在抱怨我们在Mac OS 10.7上如何弃用它们.
我应该采用更现代的方式吗?我已经谷歌搜索了几个小时,只能找到Mac上没有的iOS东西(SecKeyEncrypt等).
要绝对清楚,我不是在寻找iOS解决方案,我正在寻找Mac OS.
根据WWDC 2011上的下一代加密服务演示,OpenSSL在Mac OS X 10.7及更高版本中已被弃用,因为OpenSSL库的版本化很可怕.
话虽如此,目前还没有直接替代OpenSSL中的RSA功能.然而.你现在可以继续使用它们; 你只需要接受警告.或者,您可以在该演示文稿中获取Jon Callas提供的建议,并将您自己的libcrypto副本捆绑为RSA.
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |