我用 GCDAsyncSocket 制作了一个简单的 TLS 服务器,并想要获取客户端的公钥。我尝试使用这个:
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
SSLContextRef ref = [sock sslContext];
SecTrustRef trust;
SSLCopyPeerTrust(ref, &trust);
SecKeyRef key = SecTrustCopyPublicKey(trust);
NSLog(@"%@",key);
}
但我在 SecTrustCopyPublicKey 方法中得到了 exc_bad_access。如何将公钥作为 NSString/NSData 获取?