2013-05-19 14 views
7

L'esempio di Apple GenericKeychain salva un nome utente e una password nel portachiavi iOS. Lo fa utilizzando kSecAttrAccount per il nome utente e kSecValueData per la password.I nomi account (kSecAttrAccount) sono crittografati nel portachiavi iOS?

Tutti gli elementi di dati inseriti nel portachiavi sono crittografati, quindi incluso lo kSecAttrAccount/nome utente in questo esempio?

Sto chiedendo perché non voglio che i nomi degli account siano esposti.

+0

Hai guardato nella cartella del documento dell'app? – Undo

+0

Sì, ho cercato @Undo, ma non è molto chiaro. Non voglio indovinare con cose come il portachiavi. –

+0

Hai trovato una risposta per questo? – makaron

risposta

5

Se si utilizza kSecAttr per il nome utente, verrà crittografato.

Gli attributi associati a un elemento portachiavi dipendono dalla classe dell'articolo; le classi di oggetti più utilizzate dalle applicazioni ... sono le password di Internet e le password generiche. Come ci si potrebbe aspettare, le password di Internet includono attributi come dominio di sicurezza, tipo di protocollo e percorso. Le password o altri segreti memorizzati come elementi portachiavi sono crittografati.

(vedi "Structure of a Keychain")

Come si utilizza kSecAttrAccount, che può essere usato solo con le classi kSecClassInternetPassword e kSecClassGenericPassword (vedi Keychain Services Reference @ kSecAttrAccount), il nome dell'account verranno crittografati.

Problemi correlati