После SecKeyGeneratePair
для ECC я пытаюсь зашифровать открытый текст открытым ключом. SecKeyEncrypt
возвращает -4 (errSecUnimplemented). Я не уверен, что тип заполнения правильный. Я пробовал все типы в своем xcode, они тоже не работают. Может кто-нибудь объяснить, почему SecKeyEncrypt
возвращает -4?
(NSData *)encrypt:(NSString *)plainTextString key:(SecKeyRef)publicKey {
NSData *data = [plainTextString dataUsingEncoding:NSUTF8StringEncoding];
size_t encryptedDataLength = SecKeyGetBlockSize(publicKey);
NSMutableData *encryptedData = [[NSMutableData alloc]
initWithLength:encryptedDataLength];
OSStatus err = SecKeyEncrypt(publicKey,
kSecPaddingOAEP,
[data bytes],
[data length],
[encryptedData mutableBytes],
&encryptedDataLength);
NSLog(@"errEXX: %ld", err);
[encryptedData setLength:encryptedDataLength];
return encryptedData;
}