我使用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获取?