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

Commit b089c8aa authored by Eric Biggers's avatar Eric Biggers Committed by Automerger Merge Worker
Browse files

Merge "SyntheticPasswordManager: rename derivePassword() to deriveSubkey()"...

Merge "SyntheticPasswordManager: rename derivePassword() to deriveSubkey()" am: a2f9e65a am: 0573cdea

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



Change-Id: I864277332a29ce8e8df0f25eaf2243b66d726013
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 157a1a62 0573cdea
Loading
Loading
Loading
Loading
+11 −7
Original line number Original line Diff line number Diff line
@@ -192,7 +192,11 @@ public class SyntheticPasswordManager {
            mVersion = version;
            mVersion = version;
        }
        }


        private byte[] derivePassword(byte[] personalization) {
        /**
         * Derives a subkey from the synthetic password. For v3 and later synthetic passwords the
         * subkeys are 256-bit; for v1 and v2 they are 512-bit.
         */
        private byte[] deriveSubkey(byte[] personalization) {
            if (mVersion == SYNTHETIC_PASSWORD_VERSION_V3) {
            if (mVersion == SYNTHETIC_PASSWORD_VERSION_V3) {
                return (new SP800Derive(mSyntheticPassword))
                return (new SP800Derive(mSyntheticPassword))
                    .withContext(personalization, PERSONALISATION_CONTEXT);
                    .withContext(personalization, PERSONALISATION_CONTEXT);
@@ -203,28 +207,28 @@ public class SyntheticPasswordManager {
        }
        }


        public byte[] deriveKeyStorePassword() {
        public byte[] deriveKeyStorePassword() {
            return bytesToHex(derivePassword(PERSONALIZATION_KEY_STORE_PASSWORD));
            return bytesToHex(deriveSubkey(PERSONALIZATION_KEY_STORE_PASSWORD));
        }
        }


        public byte[] deriveGkPassword() {
        public byte[] deriveGkPassword() {
            return derivePassword(PERSONALIZATION_SP_GK_AUTH);
            return deriveSubkey(PERSONALIZATION_SP_GK_AUTH);
        }
        }


        public byte[] deriveDiskEncryptionKey() {
        public byte[] deriveDiskEncryptionKey() {
            return derivePassword(PERSONALIZATION_FBE_KEY);
            return deriveSubkey(PERSONALIZATION_FBE_KEY);
        }
        }


        public byte[] deriveVendorAuthSecret() {
        public byte[] deriveVendorAuthSecret() {
            return derivePassword(PERSONALIZATION_AUTHSECRET_KEY);
            return deriveSubkey(PERSONALIZATION_AUTHSECRET_KEY);
        }
        }


        public byte[] derivePasswordHashFactor() {
        public byte[] derivePasswordHashFactor() {
            return derivePassword(PERSONALIZATION_PASSWORD_HASH);
            return deriveSubkey(PERSONALIZATION_PASSWORD_HASH);
        }
        }


        /** Derives key used to encrypt password metrics */
        /** Derives key used to encrypt password metrics */
        public byte[] deriveMetricsKey() {
        public byte[] deriveMetricsKey() {
            return derivePassword(PERSONALIZATION_PASSWORD_METRICS);
            return deriveSubkey(PERSONALIZATION_PASSWORD_METRICS);
        }
        }


        /**
        /**