Преобразование NSData в SecKeyRef

У меня есть открытый ключ, который я получил с удаленного сервера, и я хочу выполнить шифрование RSA с помощью этого открытого ключа. Но проблема в том, что я получаю данные открытого ключа в виде байтового массива в буфере. Я могу конвертировать его в NSData, но я не могу конвертировать в SecKeyRef, поэтому я могу продолжать шифрование. Мой код шифрования выглядит так:}

+(NSString *)encryptRSA:(NSString *)plainTextString withKey:(SecKeyRef)publicKey {
size_t cipherBufferSize = SecKeyGetBlockSize(publicKey);
uint8_t *cipherBuffer = malloc(cipherBufferSize);
uint8_t *nonce = (uint8_t *)[plainTextString UTF8String];
SecKeyEncrypt(publicKey,
              kSecPaddingOAEP,
              nonce,
              strlen( (char*)nonce ),
              &cipherBuffer[0],
              &cipherBufferSize);
NSData *encryptedData = [NSData dataWithBytes:cipherBuffer length:cipherBufferSize];
return [encryptedData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

Как вы можете видеть, мне нужен тип объекта SecKeyRef для завершения моего шифрования. Но мой открытый ключ RSA находится в переменной NSData. Так как же я могу преобразовать NSData в тип объекта SecKeyRef. Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос