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

Commit 912853be authored by Dmitry Dementyev's avatar Dmitry Dementyev Committed by Android (Google) Code Review
Browse files

Merge "Remove deprecated generateAndStoreKey method implementation" into pi-dev

parents 47335f6e 86f5bb1a
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -443,16 +443,7 @@ public class RecoveryController {
     */
    public byte[] generateAndStoreKey(@NonNull String alias)
            throws InternalRecoveryServiceException, LockScreenRequiredException {
        try {
            return mBinder.generateAndStoreKey(alias);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        } catch (ServiceSpecificException e) {
            if (e.errorCode == ERROR_INSECURE_USER) {
                throw new LockScreenRequiredException(e.getMessage());
            }
            throw wrapUnexpectedServiceSpecificException(e);
        }
        throw new UnsupportedOperationException();
    }

    /**
+2 −17
Original line number Diff line number Diff line
@@ -78,23 +78,8 @@ public final class KeyChainSnapshot implements Parcelable {
    private byte[] mEncryptedRecoveryKeyBlob;

    /**
     * @hide
     * Deprecated, consider using builder.
     * Use builder to create an instance of the class.
     */
    public KeyChainSnapshot(
            int snapshotVersion,
            @NonNull List<KeyChainProtectionParams> keyChainProtectionParams,
            @NonNull List<WrappedApplicationKey> wrappedApplicationKeys,
            @NonNull byte[] encryptedRecoveryKeyBlob) {
        mSnapshotVersion = snapshotVersion;
        mKeyChainProtectionParams =
                Preconditions.checkCollectionElementsNotNull(keyChainProtectionParams,
                        "KeyChainProtectionParams");
        mEntryRecoveryData = Preconditions.checkCollectionElementsNotNull(wrappedApplicationKeys,
                "wrappedApplicationKeys");
        mEncryptedRecoveryKeyBlob = Preconditions.checkNotNull(encryptedRecoveryKeyBlob);
    }

    private KeyChainSnapshot() {

    }
@@ -108,7 +93,7 @@ public final class KeyChainSnapshot implements Parcelable {
    }

    /**
     * Number of user secret guesses allowed during Keychain recovery.
     * Number of user secret guesses allowed during KeyChain recovery.
     */
    public int getMaxAttempts() {
        return mMaxAttempts;
+1 −1
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ public final class KeyDerivationParams implements Parcelable {
    /**
     * @hide
     */
    KeyDerivationParams(@KeyDerivationAlgorithm int algorithm, @NonNull byte[] salt,
    private KeyDerivationParams(@KeyDerivationAlgorithm int algorithm, @NonNull byte[] salt,
            int memoryDifficulty) {
        mAlgorithm = algorithm;
        mSalt = Preconditions.checkNotNull(salt);
+1 −10
Original line number Diff line number Diff line
@@ -577,16 +577,7 @@ public class RecoveryController {
    @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE)
    public byte[] generateAndStoreKey(@NonNull String alias, byte[] account)
            throws InternalRecoveryServiceException, LockScreenRequiredException {
        try {
            return mBinder.generateAndStoreKey(alias);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        } catch (ServiceSpecificException e) {
            if (e.errorCode == ERROR_INSECURE_USER) {
                throw new LockScreenRequiredException(e.getMessage());
            }
            throw wrapUnexpectedServiceSpecificException(e);
        }
        throw new UnsupportedOperationException("Operation is not supported, use generateKey");
    }

    /**
+5 −5
Original line number Diff line number Diff line
@@ -157,8 +157,8 @@ public class RecoverySession implements AutoCloseable {
     * @param vaultChallenge Data passed from server for this recovery session and used to prevent
     *     replay attacks.
     * @param secrets Secrets provided by user, the method only uses type and secret fields.
     * @return The recovery claim. Claim provides a b binary blob with recovery claim. It is
     *     encrypted with verifierPublicKey and contains a proof of user secrets, session symmetric
     * @return The binary blob with recovery claim. It is encrypted with verifierPublicKey
     * and contains a proof of user secrets possession, session symmetric
     *     key and parameters necessary to identify the counter with the number of failed recovery
     *     attempts.
     * @throws CertificateException if the {@code verifierCertPath} is invalid.
@@ -228,7 +228,8 @@ public class RecoverySession implements AutoCloseable {
     *
     * @param recoveryKeyBlob Recovery blob encrypted by symmetric key generated for this session.
     * @param applicationKeys Application keys. Key material can be decrypted using recoveryKeyBlob
     *     and session.
     *     and session key generated by {@link #start}.
     * @return {@code Map} from recovered keys aliases to their references.
     * @throws SessionExpiredException if {@code session} has since been closed.
     * @throws DecryptionFailedException if unable to decrypt the snapshot.
     * @throws InternalRecoveryServiceException if an error occurs internal to the recovery service.
@@ -288,8 +289,7 @@ public class RecoverySession implements AutoCloseable {
    }

    /**
     * Deletes all data associated with {@code session}. Should not be invoked directly but via
     * {@link RecoverySession#close()}.
     * Deletes all data associated with {@code session}.
     */
    @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE)
    @Override
Loading