2012-04-23 13 views
9

मैंने अपने पांडोबवर्ड पर डिवाइस एडमिनिस्ट्रेशन एपीआई के साथ खेला है और ऐसा लगता है कि getStorageEncryption विधि कोई प्रभाव नहीं उत्पन्न करती है, GetStorageEncryption द्वारा लौटाई गई स्थिति के बावजूद सत्य है।setStorageEncryption कोई प्रभाव नहीं पैदा करता

पांडा बोर्ड के मामले में आवेदन आंतरिक संग्रहण भौतिक रूप से हटाने योग्य फ़्लैश कार्ड पर कहीं भी रखा जाता है (इसमें कोई अन्य फ़्लैश स्टोरेज नहीं है)। तो मैंने निम्नलिखित किया:

  1. कॉल सेट स्टोरेज एन्क्रिप्शन (सत्य) (ApiDemos उदाहरण से DeviceAdminSample.java)।
  2. सत्यापित करें कि एन्क्रिप्शन getStorageEncryption, getStorageEncryptionStatus को कॉल करके सक्रिय है और आंतरिक संग्रहण पर एक उदाहरण फ़ाइल सहेजता है।
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. Pandaboard से निकालें एसडी कार्ड, यह कार्ड रीडर में डाल दिया और मेरे पीसी

    sudo dd करने के लिए पूरे सामग्री की प्रतिलिपि अगर =/dev/के एसडीसी = ~

    $ ग्रेप -Ubo --binary-फ़ाइलें = पाठ 'सही Encryp: /workspace/flash_card.bin

  2. स्ट्रिंग खोजने की कोशिश करें tion '~/कार्यक्षेत्र/flash_card.bin

    583576877: सही एन्क्रिप्शन

के रूप में यह स्ट्रिंग पाया मैं एक निष्कर्ष यह है कि कोई एन्क्रिप्शन जगह में है या नहीं।

वास्तव में सेटस्टॉरेज एन्क्रिप्शन एन्क्रिप्शन को सक्षम करता है या यह केवल एन्क्रिप्शन का अनुरोध करता है या दूसरे शब्दों में "एन्क्रिप्टेड स्टोरेज" रखने के लिए "अपना इरादा घोषित करता है"?

उत्तर

4

मेरा मानना ​​है कि आप कोड अतिरिक्त निम्नलिखित कॉल करनी होगी:

// 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); 

यह से उपकरण व्यवस्थापक नमूना ले जाती है।

संबंधित मुद्दे