我创建了一个对使用密钥SecKeyGeneratePair
。 我现在想通过公共密钥服务器,但我真的不知道如何着手。
我有一个函数getPublicKeyBits
(从苹果公司的采取CryptoExercise
),但我真的不知道做什么用的原料NSData的事。 下面是函数:
- (NSData *)getPublicKeyBits {
OSStatus sanityCheck = noErr;
NSData* publicKeyBits = nil;
NSData* publicTag = [[NSData alloc] initWithBytes:publicKeyIdentifier length:sizeof(publicKeyIdentifier)];
CFDataRef cfresult = NULL;
NSMutableDictionary * queryPublicKey = [[NSMutableDictionary alloc] init];
// Set the public key query dictionary.
[queryPublicKey setObject:(__bridge id)kSecClassKey forKey:(__bridge id)kSecClass];
[queryPublicKey setObject:publicTag forKey:(__bridge id)kSecAttrApplicationTag];
[queryPublicKey setObject:(__bridge id)kSecAttrKeyTypeRSA forKey:(__bridge id)kSecAttrKeyType];
[queryPublicKey setObject:[NSNumber numberWithBool:YES] forKey:(__bridge id)kSecReturnData];
// Get the key bits.
sanityCheck = SecItemCopyMatching((__bridge CFDictionaryRef)queryPublicKey, (CFTypeRef*)&cfresult);
if (sanityCheck != noErr)
{
publicKeyBits = nil;
}
else
{
publicKeyBits = (__bridge_transfer NSData *)cfresult;
}
return publicKeyBits;
}
如何利用这个原始字节的数据,并把它变成像PEM
或一个加密库了解一些其他的格式? 我应该Base64编码呢? 是否有其他的事情,我需要做的呢?
如果有帮助,我试图使用与公共密钥M2Crypto
可供Python库。