Como faço para obter um SSLContextref da CFNETWORKS?
-
12-09-2019 - |
Pergunta
Estou tentando olhar para o SSLContext em um CFreadstream. O SecureTransport possui muitos métodos úteis para examinar um SSLContextref como o SSLGETENABLEDCIPHERS, mas não tenho uma boa maneira de obter um SSLContextref da CFreadStream. Existe algum tipo de método getter para SSLContextref no CFNETWORKS?
Solução
Se mais alguém tiver esse problema, tome nota, você não pode. O que você pode fazer é criar um novo contexto SSL, enviar o Readstream para o contexto e criptografar o fluxo lá. O que você não pode obter é obter as configurações da cifra das classes da CFNETWORK. Suponho que a Apple quer que eles permaneçam privados.
Outras dicas
Você deve recuperar o SSLContextref usando o CFREADSTREAMCOPYPROPERTY. Por exemplo, consulte este código da maçã Tlstool amostra:
context = (SSLContextRef) CFReadStreamCopyProperty((__bridge CFReadStreamRef) inputStream, kCFStreamPropertySSLContext);
O KCFStreamPropertySslContext está disponível a partir de OS X 10.9 e iOS 5.