如何从SecKeyRef获取位

时间:2014-12-08 11:11:03

标签: macos cocoa public-key seckeyref

我的目标是比较两个公钥。 如何从SecKeyRef获取NSData。 有比较SecKeyRef实例的直接方法吗? 附: - 我没有私钥。

编辑:它适用于mac而不是iOS。

1 个答案:

答案 0 :(得分:0)

有两种方法可以做到这一点

  1. 使用SecKeyCopyAttributes功能

    CFDictionaryRef attrs = SecKeyCopyAttributes(key);
    CFDataRef data = (CFDataRef) CFDictionaryGetValue(attrs, kSecValueData);
    CFShow(data);
    
  2. 使用SecKeyCopyExternalRepresentation功能

    CFDataRef data = SecKeyCopyExternalRepresentation(key, NULL);
    CFShow(data);
    
  3. <强>输出

    <CFData 0x102067100 [0x7fff8df69980]>{length = 294, capacity = 1024, bytes = 0x30820122300d06092a864886f70d0101 ... 835b510203010001}