Я экспериментировал с API администрирования устройств на своем Pandaboard, и оказалось, что метод setStorageEncryption не дает никакого эффекта, несмотря на то, что статус, возвращаемый getStorageEncryption, равен TRUE.
В случае с платой Panda внутренняя память приложения физически размещается где-то на съемной флэш-карте (, у нее нет другой флэш-памяти ). Итак, я сделал следующее:
if (mDPM.getStorageEncryption(mDeviceAdminSample)) {
string = "TRUE Encryption";
}
FileOutputStream fos = null;
fos = openFileOutput("hello_file.txt", Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
Извлеките SD-карту из Pandaboard, вставьте ее в устройство чтения карт -и скопируйте все содержимое на мой компьютер
sudo dd if=/dev/sdc of= ~/workspace/flash _card.bin
попробуйте найти строку:
$ grep -Ubo --двоичный файл -files=text 'ИСТИННОЕ шифрование' ~/workspace/flash _card.bin
583576877 :TRUE Encryption
Найдя строку, я делаю вывод, что шифрование отсутствует.
Действительно ли setStorageEncryption разрешает шифрование или только запрашивает шифрование или, другими словами, «декларирует ваше намерение» зашифровать хранилище?