iOS SecKeyRef (Открытый ключ) отправляет его на сервер [дубликат]

This question already has an answer here:

Extracting a public key from key pair in key chain 2 answers

Теперь у меня проблема с моим открытым ключом, я использовал SecKeyGeneratePair для генерации открытого и закрытого ключей. Теперь я должен отправить свой открытый ключ на сервер. Я использовал приведенный ниже метод для преобразования SecKeyRef в NSData, там всегда я получаю один и тот же открытый ключ. Однако я преобразовал его в формат base64 и отправил на сервер. Но это не работает вообще, и сервер (Java) начинает выдавать ошибки. Вот мой код iOS:

- (NSData *)getPublicKeyBits {
    OSStatus sanityCheck = noErr;
    NSData * publicKeyBits = nil;

    NSMutableDictionary * queryPublicKey = [[NSMutableDictionary alloc] init];

    // Set the public key query dictionary.
    [queryPublicKey setObject:(id)kSecClassKey forKey:(id)kSecClass];
    [queryPublicKey setObject:publicTag forKey:(id)kSecAttrApplicationTag];
    [queryPublicKey setObject:(id)kSecAttrKeyTypeRSA forKey:(id)kSecAttrKeyType];
    [queryPublicKey setObject:[NSNumber numberWithBool:YES] forKey:(id)kSecReturnData];

    // Get the key bits.
    sanityCheck = SecItemCopyMatching((CFDictionaryRef)queryPublicKey, (CFTypeRef *)&publicKeyBits);

    if (sanityCheck != noErr)
    {
        publicKeyBits = nil;
    }

    [queryPublicKey release];

    return publicKeyBits;
}

Может ли кто-нибудь помочь мне конвертировать SecKeyRef в NSString или NSData.

Заранее спасибо!!!

-Мурали Кришнан

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

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