将公钥(在iPhone中生成为seckeyref)发送到服务器(在Java中)

时间:2011-06-20 11:10:00

标签: iphone security

我需要将SecKeyGeneratePair生成的公钥作为SecKeyRef对象发送。 现在,为了发送它,我需要这个KeyRef对象是一个字符串格式。

如何将SecKeyRef对象转换为nsstring对象?

2 个答案:

答案 0 :(得分:6)

// you have SecKeyRef keyref from somewhere 
size_t keySize = SecKeyGetBlockSize(keyref);
NSData* keyData = [NSData dataWithBytes:keyref length:keySize];

然后使用此NSData category将带有base64的NSData对象编码为NSString。

NSString *keyStringB64 = [keyData base64EncodedString];

答案 1 :(得分:0)

[清除旧问题]

Saving SecKeyRef device generated public/private key pair on disk

显示如何创建NSData对象。因为我不是iOS开发人员,所以我会将转换保留为字符串(例如使用base 64编码)作为练习。