Merge "SyntheticPasswordManager: rename derivePassword() to deriveSubkey()" am: a2f9e65a02 am: 0573cdeafc am: b089c8aaf3 am: 9e339979e1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2132301 Change-Id: Ied41c5f4f0810ccc5b54c1343baa2f04235787bf Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user