5

私は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;

}

ここで、モジュラスと指数はNSDataオブジェクトです。

これは問題なく機能しますが、すべてのRSAメソッドを除けば、MacOS10.7での非推奨の方法についてコンパイラーが私に不平を言うようになります。

私がこれを行うべきより現代的な方法はありますか?私は数時間グーグルをしていて、Macでは利用できないiOSのもの(SecKeyEncryptなど)しか見つけることができませんでした。

明確にするために、私はiOSソリューションを探しているのではなく、MacOSソリューションを探しています。

4

3 に答える 3

6

WWDC 2011 での次世代暗号化サービスのプレゼンテーションによると、OpenSSL ライブラリのバージョン管理が恐ろしいため、OpenSSL は Mac OS X 10.7 以降では廃止されています。

そうは言っても、現在、OpenSSL の RSA 機能を直接置き換えるものはありません。まだ。おそらく今のところ、それらを使い続けることができます。あなたはただ警告に耐えなければならないでしょう。または、そのプレゼンテーションで Jon Callas が提供したアドバイスを参考にして、RSA 用の libcrypto の独自のコピーをバンドルすることもできます。

于 2012-05-28T03:08:25.170 に答える
1

すでにこれを確認しましたか? あなたが求めている正確な問題のようですが、この質問は解決されているようです。

于 2012-05-28T02:39:13.267 に答える
0

役立つかどうかを確認できます

https://github.com/skoik/RSAUtility

于 2014-01-17T09:48:29.737 に答える