He jugado con la API de administración de dispositivos en mi Pandaboard y parece que el método setStorageEncryption no produce ningún efecto, a pesar del estado devuelto por getStorageEncryption es VERDADERO.setStorageEncryption no produce ningún efecto
En el caso de la placa Panda, el almacenamiento interno de la aplicación se coloca físicamente en algún lugar de la tarjeta flash extraíble (no tiene ningún otro almacenamiento flash). Así que hice lo siguiente:
- Llamar a setStorageEncryption (true) (DeviceAdminSample.java del ejemplo de ApiDemos).
- Verifique que el cifrado esté activo llamando a getStorageEncryption, getStorageEncryptionStatus y guarde un archivo de ejemplo en el almacenamiento interno.
if (mDPM.getStorageEncryption(mDeviceAdminSample)) {
string = "TRUE Encryption";
}
FileOutputStream fos = null;
fos = openFileOutput("hello_file.txt", Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
Extracto de la tarjeta SD de la PandaBoard, lo puso en el lector de tarjetas y copiar todo el contenido de mi PC
sudo dd if =/dev/sdc de = ~ /workspace/flash_card.bin
tratar de encontrar la cadena:
$ grep -Ubo --binary-archivos de texto = 'TRUE Encryp ción' ~/espacio de trabajo/flash_card.bin
583576877: Cifrado VERDADERO
Como se encuentra la cadena hago una conclusión de que ningún cifrado está en su lugar.
¿Realmente setStorageEncryption habilita el cifrado o solo solicita cifrado o, en otras palabras, "declara su intención" de cifrar el almacenamiento?