Su iOS, qual è il vantaggio di OpenSSL rispetto all'utilizzo di CFStream, CFNetwork ecc. per socket sicuri?

4

L'ho già chiesto su Stack Overflow, qui . Mi è stato detto che potrei trovare le risposte qui.

    
posta Plumenator 14.12.2010 - 06:39
fonte

2 risposte

3

Due cose:

  • ottieni un maggiore controllo sulle opzioni di crittografia. Se è necessario controllare o ispezionare lo scambio di certificati in modi non consentiti da CFNetwork, è necessario passare a OpenSSL.
  • OpenSSL è multipiattaforma, quindi potresti già avere il codice che funziona con esso.
risposta data 14.12.2010 - 09:48
fonte
2

(Forse leggermente fuori tema). Non sono sicuro di iOS, ma su OSX, CFStream, CFNetwork e così via consentono all'applicazione di utilizzare una chiave privata nel KeyChain senza mai accedere al suo contenuto. Ad esempio, se devi autenticare un sito con un certificato client, è il livello OS / Portachiavi che gestirà la firma usando la chiave privata e poi passerà l'handle "TLS" all'applicazione.

In un certo senso, rende le chiavi più sicure, dato che gli utenti non devono fidarsi tanto dell'applicazione: anche se usa la tua chiave privata quando glielo permetti, non sarà mai in grado di fare una copia di esso (e forse inviarlo a un sito canaglia). (Si noti che questo dipende da varie opzioni di configurazione, ovviamente, dato che si è anche in grado di fornire il contenuto della chiave privata all'applicazione, se richiesto, e consentito dall'utente).

Per quanto ne so, OpenSSL non è integrato con il sistema operativo in questo modo (quindi il processo di applicazione deve essere in grado di ottenere la chiave privata se vuole usarlo).

    
risposta data 13.05.2011 - 22:04
fonte

Leggi altre domande sui tag