Hello all,

I am developing a client that should open 3 sockets to the same address/port 
and communicate with our server using TLS. I am using CFStream.
Everything works ok  for first socket, but when I am trying to open second 
socket, the SSL handshake fails.

I see in sniffer, that when I am opening the first socket, it sends the 
ClientHello packet. The sessionID is empty.
But when I am opening the second socket and sending ClientHello, the sessionID 
contains the 32-bytes token, sent by server in ServerHello to the first socket. 
So it behaves like it wants to re-negotiate.

I have read about TLS Session Cache (see QA1727 
https://developer.apple.com/library/ios/qa/qa1727/_index.html
), that "A TLS connection can either establish a new session or it can attempt 
to resume an existing session, where resuming an existing session is much 
cheaper than starting a new one."

Can it be my case? I.e. when I am trying to open the second socket, CFNetwork 
uses the existing TLS session?
If yes, if I can avoid it, and make the second socket to connect "from 
scratch"? (It can make me a problem during connection).
Or it is relevant only for NSURLConnection?

If there any other problems, that can occur when I am connecting to the same IP 
address / port simultaneously?

Thanks a lot,
Yulia



************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer 
viruses.
************************************************************************************



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list      (Macnetworkprog@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/macnetworkprog/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to