Я копаюсь в вещах, которые требует шифрования 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 заставляют компилятор жаловаться на то, что они устарели в Mac OS 10.7.
Есть ли более современный способ сделать это? Я гуглил в течение нескольких часов и смог найти только те материалы для iOS, которые недоступны на Mac ( SecKeyEncrypt
и т. д.).
Чтобы быть абсолютно ясным, я не ищу решение для iOS, я ищу решение для Mac OS.