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

Commit ace6cea9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Keystore 2.0: Fix correct handling of Uid/Namespace" am: 75025c5b

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1599649

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If2ce29c0bbd386105ca3ff2d4322d30e83250c6e
parents 042c3a33 75025c5b
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -59,7 +59,7 @@ public final class ParcelableKeyGenParameterSpec implements Parcelable {
    public void writeToParcel(Parcel out, int flags) {
    public void writeToParcel(Parcel out, int flags) {
        out.writeString(mSpec.getKeystoreAlias());
        out.writeString(mSpec.getKeystoreAlias());
        out.writeInt(mSpec.getPurposes());
        out.writeInt(mSpec.getPurposes());
        out.writeInt(mSpec.getUid());
        out.writeInt(mSpec.getNamespace());
        out.writeInt(mSpec.getKeySize());
        out.writeInt(mSpec.getKeySize());


        // Only needs to support RSAKeyGenParameterSpec and ECGenParameterSpec.
        // Only needs to support RSAKeyGenParameterSpec and ECGenParameterSpec.
@@ -125,7 +125,7 @@ public final class ParcelableKeyGenParameterSpec implements Parcelable {
    private ParcelableKeyGenParameterSpec(Parcel in) {
    private ParcelableKeyGenParameterSpec(Parcel in) {
        final String keystoreAlias = in.readString();
        final String keystoreAlias = in.readString();
        final int purposes = in.readInt();
        final int purposes = in.readInt();
        final int uid = in.readInt();
        final int namespace = in.readInt();
        final int keySize = in.readInt();
        final int keySize = in.readInt();


        final int keySpecType = in.readInt();
        final int keySpecType = in.readInt();
@@ -177,7 +177,7 @@ public final class ParcelableKeyGenParameterSpec implements Parcelable {
        // KeyGenParameterSpec constructor (whereas using a builder would silently drop them).
        // KeyGenParameterSpec constructor (whereas using a builder would silently drop them).
        mSpec = new KeyGenParameterSpec(
        mSpec = new KeyGenParameterSpec(
                keystoreAlias,
                keystoreAlias,
                uid,
                namespace,
                keySize,
                keySize,
                algorithmSpec,
                algorithmSpec,
                certificateSubject,
                certificateSubject,
+5 −5
Original line number Original line Diff line number Diff line
@@ -154,7 +154,7 @@ public abstract class AndroidKeyStoreKeyPairGeneratorSpi extends KeyPairGenerato
    private KeyGenParameterSpec mSpec;
    private KeyGenParameterSpec mSpec;


    private String mEntryAlias;
    private String mEntryAlias;
    private int mEntryUid;
    private int mEntryNamespace;
    private @KeyProperties.KeyAlgorithmEnum String mJcaKeyAlgorithm;
    private @KeyProperties.KeyAlgorithmEnum String mJcaKeyAlgorithm;
    private int mKeymasterAlgorithm = -1;
    private int mKeymasterAlgorithm = -1;
    private int mKeySizeBits;
    private int mKeySizeBits;
@@ -218,7 +218,7 @@ public abstract class AndroidKeyStoreKeyPairGeneratorSpi extends KeyPairGenerato
            }
            }


            mEntryAlias = spec.getKeystoreAlias();
            mEntryAlias = spec.getKeystoreAlias();
            mEntryUid = spec.getUid();
            mEntryNamespace = spec.getNamespace();
            mSpec = spec;
            mSpec = spec;
            mKeymasterAlgorithm = keymasterAlgorithm;
            mKeymasterAlgorithm = keymasterAlgorithm;
            mKeySizeBits = spec.getKeySize();
            mKeySizeBits = spec.getKeySize();
@@ -439,7 +439,7 @@ public abstract class AndroidKeyStoreKeyPairGeneratorSpi extends KeyPairGenerato


    private void resetAll() {
    private void resetAll() {
        mEntryAlias = null;
        mEntryAlias = null;
        mEntryUid = KeyProperties.NAMESPACE_APPLICATION;
        mEntryNamespace = KeyProperties.NAMESPACE_APPLICATION;
        mJcaKeyAlgorithm = null;
        mJcaKeyAlgorithm = null;
        mKeymasterAlgorithm = -1;
        mKeymasterAlgorithm = -1;
        mKeymasterPurposes = null;
        mKeymasterPurposes = null;
@@ -541,10 +541,10 @@ public abstract class AndroidKeyStoreKeyPairGeneratorSpi extends KeyPairGenerato


        KeyDescriptor descriptor = new KeyDescriptor();
        KeyDescriptor descriptor = new KeyDescriptor();
        descriptor.alias = mEntryAlias;
        descriptor.alias = mEntryAlias;
        descriptor.domain = mEntryUid == KeyProperties.NAMESPACE_APPLICATION
        descriptor.domain = mEntryNamespace == KeyProperties.NAMESPACE_APPLICATION
                ? Domain.APP
                ? Domain.APP
                : Domain.SELINUX;
                : Domain.SELINUX;
        descriptor.nspace = mEntryUid;
        descriptor.nspace = mEntryNamespace;
        descriptor.blob = null;
        descriptor.blob = null;


        boolean success = false;
        boolean success = false;