Skip non KeyEntry from PKCS12 file during extraction.

Change-Id: I76880fc3a39c092cfc007450f59c477a2bdaf48e
Fix: 29315994
diff --git a/src/com/android/certinstaller/CredentialHelper.java b/src/com/android/certinstaller/CredentialHelper.java
index 3285a36..6c1efba 100644
--- a/src/com/android/certinstaller/CredentialHelper.java
+++ b/src/com/android/certinstaller/CredentialHelper.java
@@ -370,14 +370,21 @@
 
         while (aliases.hasMoreElements()) {
             String alias = aliases.nextElement();
-            KeyStore.Entry entry = keystore.getEntry(alias, password);
-            Log.d(TAG, "extracted alias = " + alias + ", entry=" + entry.getClass());
+            if (keystore.isKeyEntry(alias)) {
+                KeyStore.Entry entry = keystore.getEntry(alias, password);
+                Log.d(TAG, "extracted alias = " + alias + ", entry=" + entry.getClass());
 
-            if (entry instanceof PrivateKeyEntry) {
-                if (TextUtils.isEmpty(mName)) {
-                    mName = alias;
+                if (entry instanceof PrivateKeyEntry) {
+                    if (TextUtils.isEmpty(mName)) {
+                        mName = alias;
+                    }
+                    return installFrom((PrivateKeyEntry) entry);
                 }
-                return installFrom((PrivateKeyEntry) entry);
+            } else {
+                // KeyStore.getEntry with non-null ProtectionParameter can only be invoked on
+                // PrivateKeyEntry or SecretKeyEntry.
+                // See https://docs.oracle.com/javase/8/docs/api/java/security/KeyStore.html
+                Log.d(TAG, "Skip non-key entry, alias = " + alias);
             }
         }
         return true;