Шифрование файлов с помощью NSFileManager

Я пытаюсь зашифровать файл на своем iPad с помощью NSFileManager. Это код:

NSString* encryptedFilePath = [dirPath stringByAppendingPathComponent:@"encryptedDummyData.txt"];

[[NSFileManager defaultManager] createFileAtPath:encryptedFilePath
                                        contents:[@"blah blah blah blah blah" dataUsingEncoding:NSUTF8StringEncoding]
                                        attributes:[NSDictionary dictionaryWithObject:NSFileProtectionComplete
                                                             forKey:NSFileProtectionKey]];

Файл был сгенерирован на устройстве, но не зашифрован.

Я убедился, что «Защита данных» включена в «Навигатор проекта/Возможности».

Я также пробовал NSFileProjectionCompleteUnlessOpen и NSFileProtectionCompleteUntilFirstUserAuthentication безуспешно.

Единственный «прогресс», которого я добился, заключался в том, что если бы я заблокировал устройство после запуска приложения, то не смог бы получить доступ к файлу с помощью iExplorer. Однако в тот момент, когда я разблокировал устройство, я смог открыть файл, и он не был зашифрован.

Итак, NSFileManager вообще шифрует файл? Или он блокирует доступ пользователя к файлу только тогда, когда устройство заблокировано?

Если он может зашифровать файл, то чего мне не хватает?


person TATN    schedule 07.05.2014    source источник
comment
возможный дубликат Включить шифрование на диске iOS   -  person staticVoidMan    schedule 22.05.2014


Ответы (1)


«Однако в тот момент, когда я разблокировал устройство, я смог открыть файл, и он не был зашифрован».

Это именно то, что делает шифрование файлов. Шифрование / дешифрование происходит ближе к металлу, поэтому, что касается пользователей и приложений, оно не зашифровано после разблокировки устройства.

person Garry    schedule 04.06.2014