it-swarm-es.com

En iOS, ¿cuál es el beneficio de OpenSSL sobre el uso de Cfstream, CFNETwork, etc. para sockets seguros?

Le pregunté esto ya en el desbordamiento de la pila, aquí . Me dijeron que podría encontrar respuestas aquí.

4
Plumenator

Dos cosas:

  • obtienes más control sobre las opciones de cifrado. Si necesita controlar o inspeccionar el intercambio de certificados de manera no permitida por CFNETWork, debe dejar caer a OpenSSL.
  • OpenSSL es multiplataforma, por lo que es posible que ya tenga código que funcione con él.
3
user185

(Tal vez ligeramente fuera del tema). No estoy seguro de iOS, pero en OSX, Cfstream, CFNET, y así sucesivamente, permita que la aplicación use una clave privada en el llavero sin obtener acceso a su contenido. Por ejemplo, si tiene que autenticarse en un sitio con un certificado de cliente, es la capa OS/Llavero que se ocupará de la firma con la tecla privada y luego pasará el "Mango" de TLS a la aplicación.

En cierto sentido, hace que las llaves sean más seguras, ya que los usuarios no necesitan confiar en la aplicación tanto: incluso si usa su clave privada cuando lo permite, nunca podrá hacer una copia de ella ( y quizás envíelo a un sitio pícaro). (Tenga en cuenta que esto depende de varias opciones de configuración, por supuesto, ya que también puede dar el contenido de la clave privada a la aplicación si es necesario, y permitió el usuario).

Por lo que sé, OpenSSL no está integrado con el sistema operativo de esta manera (por lo que el proceso de solicitud tiene que ser capaz de mantener la clave privada si quiere usarla).

2
Bruno