2014-04-21 8 views
11

Ich habe Core-Datenfelder mit SecKeyWrapper Klasse in einem der Apple-Dokument verschlüsselt. Die SecKeyWrapper-Klasse ist nicht ARC. Ich frage mich, ob dies immer noch der beste Weg ist, Core-Datenfelder zu verschlüsseln, oder gibt es eine neuere/bessere Lösung?iOS-Core-Datenverschlüsselung

Danke

+2

wäre toll, zu wissen, warum diese Frage nach unten gestimmt wird, so dass ich meine Frage in einer besseren Art und Weise zu verbessern, sonst gibt es keine Bedeutung für die Abwärts Stimmen :) – user390687

+1

Zu Ihrer Information: Wenn Sie den Mauszeiger über den Abstimmungs-Pfeil halten, heißt es "** Diese Frage zeigt keinen Forschungsaufwand **; sie ist unklar oder nicht nützlich". Das ist meine Vermutung über den Grund für die Herabstufungen. – showdev

Antwort

25

In iOS 5 and later Core Data verwendet standardmäßig NSFileProtection Daten beibehalten zu schützen.

Für Anwendungen, die für iOS 5.0 oder höher erstellt wurden, speichern persistente Informationsspeicher Daten standardmäßig in einem verschlüsselten Format auf der Festplatte. Die Standardschutzstufe verhindert den Zugriff auf die Daten, bis der Benutzer das Gerät zum ersten Mal entsperrt. Sie können die Schutzstufe ändern, indem Sie dem Schlüssel NSPersistentStoreFileProtectionKey einen benutzerdefinierten Wert zuweisen, wenn Sie Ihre persistenten Speicher konfigurieren. Weitere Informationen über den Datenschutz, die in iOS 5.0 neu sind, finden Sie unter „Datenschutz Verbesserungen.“

Wenn Sie das Standard-Dateischutzverhalten für Ihre Core Data Store ändern möchten, den Wert für den Schlüssel NSPersistentStoreFileProtectionKey ändern zu einem anderen NSFileProtectionKey Wert in Ihrem Geschäft Optionen Wörterbuch.

Beispiel:

NSDictionary *storeOptions = @{NSPersistentStoreFileProtectionKey : NSFileProtectionComplete}; 

if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[self storeURL] options:storeOptions error:&error]){ 
    [self presentError:error]; 
} 
+0

Danke @quellish. Ich werde diesen Ansatz versuchen. Kommt zurück, wenn ich irgendwelche Fragen habe. – user390687

+1

Seien Sie vorsichtig. "Die Standardschutzstufe verhindert den Zugriff auf die Daten, bis der Benutzer das Gerät zum ersten Mal entsperrt." Die Daten werden nicht mehr verschlüsselt, nachdem der Benutzer das Gerät entsperrt hat und bleibt auch dann erhalten, wenn der Benutzer das Gerät nicht mehr benötigt. –

+1

Aus diesem Grund verwendet die Antwort nicht den Standard – quellish