summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keystore/java/android/security/SystemKeyStore.java19
-rw-r--r--services/java/com/android/server/PackageManagerService.java5
2 files changed, 12 insertions, 12 deletions
diff --git a/keystore/java/android/security/SystemKeyStore.java b/keystore/java/android/security/SystemKeyStore.java
index abdb0ae..1093219 100644
--- a/keystore/java/android/security/SystemKeyStore.java
+++ b/keystore/java/android/security/SystemKeyStore.java
@@ -20,6 +20,8 @@ import android.os.Environment;
import android.os.FileUtils;
import android.os.Process;
+import org.apache.harmony.luni.util.InputStreamHelper;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -108,26 +110,19 @@ public class SystemKeyStore {
return keyFile;
}
- public String retrieveKeyHexString(String keyName) {
+ public String retrieveKeyHexString(String keyName) throws IOException {
return toHexString(retrieveKey(keyName));
}
- public byte[] retrieveKey(String keyName) {
-
+ public byte[] retrieveKey(String keyName) throws IOException {
File keyFile = getKeyFile(keyName);
+
if (!keyFile.exists()) {
return null;
}
- try {
- FileInputStream fis = new FileInputStream(keyFile);
- int keyLen = fis.available();
- byte[] retKey = new byte[keyLen];
- fis.read(retKey);
- fis.close();
- return retKey;
- } catch (IOException ioe) { }
- throw new IllegalArgumentException();
+ FileInputStream fis = new FileInputStream(keyFile);
+ return InputStreamHelper.readFullyAndClose(fis);
}
public void deleteKey(String keyName) {
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index e3480a8..1279cf7 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -9408,7 +9408,12 @@ class PackageManagerService extends IPackageManager.Stub {
} catch (NoSuchAlgorithmException nsae) {
Slog.e(TAG, "Failed to create encryption keys with exception: " + nsae);
return null;
+ } catch (IOException ioe) {
+ Slog.e(TAG, "Failed to retrieve encryption keys with exception: "
+ + ioe);
+ return null;
}
+
}
/* package */ static String getTempContainerId() {