2013-05-19 7 views
7

Apples GenericKeychain Beispiel speichert einen Benutzernamen und ein Passwort im iOS-Schlüsselbund. Dies geschieht mit kSecAttrAccount für den Benutzernamen und kSecValueData für das Passwort.Sind die Kontonamen (kSecAttrAccount) im iOS-Schlüsselbund verschlüsselt?

Sind alle Datenelemente im Schlüsselbund verschlüsselt, einschließlich des kSecAttrAccount/Benutzernamens in diesem Beispiel?

Ich frage, weil ich nicht will, dass Kontonamen ausgesetzt werden.

+0

Haben Sie in der App Dokumentordner gesucht? – Undo

+0

Ja, ich habe @Undo angeschaut, aber es ist nicht sehr klar. Ich möchte nicht mit Dingen wie dem Schlüsselbund raten. –

+0

Haben Sie eine Antwort darauf gefunden? – makaron

Antwort

5

Wenn Sie kSecAttr für den Benutzernamen verwenden, wird es verschlüsselt.

Die mit einem Schlüsselbundobjekt verbundenen Attribute hängen von der Klasse des Elements ab; Die von Anwendungen am häufigsten verwendeten Elementklassen sind Internetkennwörter und generische Kennwörter. Wie zu erwarten, enthalten Internetkennwörter Attribute für Sicherheitsdomänen, Protokolltypen und Pfade. Die Kennwörter oder andere als Schlüsselbundelemente gespeicherte Schlüssel sind verschlüsselt.

(siehe "Structure of a Keychain")

Wie Sie kSecAttrAccount verwenden, die nur mit den Klassen kSecClassInternetPassword und kSecClassGenericPassword (siehe Keychain Services Reference @ kSecAttrAccount), die Kontonamen werden verschlüsselt verwendet werden können.

Verwandte Themen