Grałem z Device Administration API na moim Pandaboardzie i wygląda na to, że metoda setStorageEncryption nie daje efektu, pomimo statusu zwróconego przez getStorageEncryption ma wartość TRUE.setStorageEncryption nie daje żadnego efektu
W przypadku płyty Panda pamięć wewnętrzna aplikacji jest fizycznie umieszczana gdzieś na wymiennej karcie pamięci flash (nie ma żadnej innej pamięci flash). Tak zrobiłem:
- Wywołanie setStorageEncryption (true) (DeviceAdminSample.java z przykładu ApiDemos).
- Sprawdź, czy szyfrowanie jest aktywne, wywołując metodę getStorageEncryption, getStorageEncryptionStatus i zapisz przykładowy plik w pamięci wewnętrznej.
if (mDPM.getStorageEncryption(mDeviceAdminSample)) {
string = "TRUE Encryption";
}
FileOutputStream fos = null;
fos = openFileOutput("hello_file.txt", Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
Wyciąg z karty SD z Pandaboard, umieścić go w czytnik kart i skopiować całą zawartość do komputera
sudo dd if =/dev/sdc z = ~ /workspace/flash_card.bin
spróbować znaleźć ciąg:
$ grep -Ubo --binary-files = tekst prawdziwe Encryp cja”~/roboczy/flash_card.bin
583576877: TRUE Encryption
Jak znaleźć ciąg robię do wniosku, że szyfrowanie nie jest na miejscu.
Czy w rzeczywistości setStorageEncryption włącza szyfrowanie lub żąda tylko szyfrowania, czy innymi słowy "deklaruje zamiar", aby zaszyfrować pamięć masową?