Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e45d392 authored by Hung-ying Tyan's avatar Hung-ying Tyan
Browse files

Add certificate to keystore for the ADD intent

parent d40b9c5d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1991,6 +1991,7 @@ found in the list of installed applications.</string>
    <string name="cstor_is_enabled">Credential storage is enabled.</string>
    <!-- toast message -->
    <string name="cstor_is_added">%s is added.</string>
    <string name="cstor_add_error">Failed to add %s.</string>

    <!-- Sound settings screen, setting check box label -->
    <string name="emergency_tone_title">Emergency tone</string>
+16 −11
Original line number Diff line number Diff line
@@ -80,9 +80,9 @@ public class SecuritySettings extends PreferenceActivity implements
    private static final String LOCATION_GPS = "location_gps";

    // Credential storage
    private static final String ACTION_ADD_CREDENTIAL =
    public static final String ACTION_ADD_CREDENTIAL =
            "android.security.ADD_CREDENTIAL";
    private static final String ACTION_UNLOCK_CREDENTIAL_STORAGE =
    public static final String ACTION_UNLOCK_CREDENTIAL_STORAGE =
            "android.security.UNLOCK_CREDENTIAL_STORAGE";
    private static final String KEY_CSTOR_TYPE_NAME = "typeName";
    private static final String KEY_CSTOR_ITEM = "item";
@@ -514,7 +514,10 @@ public class SecuritySettings extends PreferenceActivity implements
        }

        private void addCredential() {
            String message = String.format(getString(R.string.cstor_is_added),
            String formatString = mCstorAddCredentialHelper.saveToStorage() < 0
                    ? getString(R.string.cstor_add_error)
                    : getString(R.string.cstor_is_added);
            String message = String.format(formatString,
                    mCstorAddCredentialHelper.getName());
            Toast.makeText(SecuritySettings.this, message, Toast.LENGTH_SHORT)
                    .show();
@@ -865,14 +868,6 @@ public class SecuritySettings extends PreferenceActivity implements
            return mTypeName;
        }

        byte[] getItem(int i) {
            return mItemList.get(i);
        }

        String getNamespace(int i) {
            return mNamespaceList.get(i);
        }

        CharSequence getDescription() {
            return Html.fromHtml(mDescription);
        }
@@ -885,6 +880,16 @@ public class SecuritySettings extends PreferenceActivity implements
            return mName;
        }

        int saveToStorage() {
            Keystore ks = Keystore.getInstance();
            for (int i = 0, count = mItemList.size(); i < count; i++) {
                byte[] blob = mItemList.get(i);
                int ret = ks.put(mNamespaceList.get(i), mName, new String(blob));
                if (ret < 0) return ret;
            }
            return 0;
        }

        private void parse(Intent intent) {
            mTypeName = intent.getStringExtra(KEY_CSTOR_TYPE_NAME);
            mItemList = new ArrayList<byte[]>();