Hi,
We are running into problem as there is no API to set SNI on TLS Parameters of NWConnection. In CFStream API this can be done easily by setting "kCFStreamSSLPeerName". When this is set, in Client Hello this parameter is used as SNI.
Is there any way/alternative to set SNI on NWConnection?
Thanks and regards.
thx, i solved this problem.
i use setAdditionalHeaders
and sec_protocol_options_set_tls_server_name.
code like this:
let options = NWProtocolTCP.Options()
options.connectionTimeout = 15
let tlsOptions = NWProtocolTLS.Options()
sec_protocol_options_set_tls_server_name(tlsOptions.securityProtocolOptions,"your domain")
let protocolOptions = NWProtocolWebSocket.Options()
protocolOptions.setAdditionalHeaders([("host", "your domain")])
let parameters = NWParameters(tls: tlsOptions, tcp: options)
parameters.defaultProtocolStack.applicationProtocols.insert(protocolOptions, at: 0)
connection = NWConnection(to: NWEndpoint.url(url), using: parameters)