2012-04-23 7 views
9

Ich habe mit der Device Administration API auf meinem Pandaboard gespielt und es scheint, dass die setStorageEncryption-Methode keinen Effekt erzeugt, obwohl der von getStorageEncryption zurückgegebene Status TRUE ist.setStorageEncryption erzeugt keinen Effekt

Bei Pandaboard wird der interne Speicher der Anwendung physisch irgendwo auf der Wechselspeicherkarte platziert (es hat keinen anderen Flashspeicher). Also habe ich folgendes getan:

  1. Aufruf setStorageEncryption (true) (DeviceAdminSample.java von ApiDemos Beispiel).
  2. Überprüfen Sie, ob die Verschlüsselung aktiv ist, indem Sie getStorageEncryption, getStorageEncryptionStatus aufrufen und eine Beispieldatei auf dem internen Speicher speichern.
if (mDPM.getStorageEncryption(mDeviceAdminSample)) { 
     string = "TRUE Encryption"; 
} 

FileOutputStream fos = null; 

fos = openFileOutput("hello_file.txt", Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 
  1. Extrahieren Sie die SD-Karte aus dem Pandaboard, steckte es in den Kartenleser und kopieren Sie den gesamten Inhalt auf meinem PC

    sudo dd if =/dev/sdc von = ~ /workspace/flash_card.bin

  2. versuchen, die Zeichenfolge zu finden:

    $ grep -Ubo --binary-files = text ‚TRUE Encryp tion‘~/Arbeitsplatz/flash_card.bin

    583576877: TRUE Encryption

Da es die Zeichenfolge ich einen Abschluss machen gefunden, dass keine Verschlüsselung vorhanden ist.

Aktiviert tatsächlich setStorageEncryption die Verschlüsselung oder fordert nur Verschlüsselung an oder mit anderen Worten "erklärt Ihre Absicht", den Speicher verschlüsselt zu haben?

Antwort

4

Ich glaube, Sie haben zusätzlich folgende Code aufzurufen:

// Launch the activity to activate encryption. May or may not return! 
Intent intent = new Intent(DevicePolicyManager.ACTION_START_ENCRYPTION); 
startActivityForResult(intent, REQUEST_CODE_START_ENCRYPTION); 

Aus Gerät Admin-Probe entnommen wird.

Verwandte Themen