我正在使用commoncryptoiPhone上的库创建一对RSA密钥,我正在尝试将公钥发送到服务器(Python),以便我可以使用它来验证从手机发送的签名.
我正在使用CommonCrypto示例中的确切代码,使用如下所示的方法getPublicKeyBits():
` - (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;
} …Run Code Online (Sandbox Code Playgroud)