SNI (указание имени сервера) в OS X или iOS - NSURLSession CFNetwork
Мне нужно реализовать SNI
(Указание имени сервера) на стороне клиента для iOS и OS X. Я попробовал Google об этом, но я не смог найти ничего полезного (только некоторые инструкции для openSSL). Ничего не связано с NSURLSession
или же CFNetwork
,
Мне нужно решение при использовании обоих NSURLSession
или же CFNetwork
(CFStreamCreatePairWithSocketToHost
- это используется в Socket Rocket).
Это автоматически поддерживается Apple Framework? Или мне нужно добавить дополнительный код для обеспечения его соблюдения? Или, может быть, это полностью не поддерживается?
1 ответ
SNI поддерживается на iOS. Если вы укажете kCFStreamSSLPeerName
значение в kCFReadStreamPropertySSLSettings
вашей CFReadStream
, он будет использоваться в качестве имени сервера во время квитирования TLS.