I am trying to use TLS 1.2 to reach our server with Secure Transport Reference.
However, I got -36 after running SSLHandshake. I have no idea what it is. Would anyone help?
Thank you~!
This is my code:
CFSocketRef mySock = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP,
kCFSocketAcceptCallBack, listenerCallBack, NULL);
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_len = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = inet_addr([host UTF8String]);
CFDataRef connectAddr = CFDataCreate(kCFAllocatorDefault, (UInt8 *)&addr, sizeof(addr));
if (connectAddr == NULL)
NSLog(@"Error");
result = CFSocketConnectToAddress(mySock, connectAddr, 30);
NSLog(@"CFSocketConnectToAddress(): %d", result);
CFRelease(connectAddr);
SSLContextRef sslContext = SSLCreateContext(kCFAllocatorDefault, kSSLClientSide, kSSLStreamType);
result = SSLSetIOFuncs(sslContext, readFromSocket, writeToSocket);
NSLog(@"SSLSetIOFuncs(): %d", result);
result = SSLSetConnection(sslContext, (SSLConnectionRef)(long)mySock);/
NSLog(@"SSLSetConnection(): %d", result);
result = SSLSetProtocolVersionMin(sslContext, kTLSProtocol12);
NSLog(@"SSLSetProtocolVersionMin(): %d", result);
OSStatus status = SSLHandshake(sslContext);
NSLog(@"SSLHandshake(): %d", status);
if (status == errSSLPeerAuthCompleted){
//...
}Output is:
SSLHandshake(): -36