1

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

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

4

1 回答 1

1

有两种方法可以做到

  1. 使用SecKeyCopyAttributes功能

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

    CFDataRef data = SecKeyCopyExternalRepresentation(key, NULL);
    CFShow(data);
    

输出

<CFData 0x102067100 [0x7fff8df69980]>{length = 294, capacity = 1024, bytes = 0x30820122300d06092a864886f70d0101 ... 835b510203010001}
于 2018-04-05T21:50:35.430 回答