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

Commit d2eec1a7 authored by Alex Klyubin's avatar Alex Klyubin Committed by Gerrit Code Review
Browse files

Merge "Add exception types for AndroidKeyStore key validity issues."

parents e4d4e22f 0b188927
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.security;

/**
 * Indicates that a cryptographic operation failed because the employed key's validity end date
 * is in the past.
 *
 * @hide
 */
public class KeyExpiredException extends CryptoOperationException {

    /**
     * Constructs a new {@code KeyExpiredException} without detail message and cause.
     */
    public KeyExpiredException() {
        super("Key expired");
    }

    /**
     * Constructs a new {@code KeyExpiredException} with the provided detail message and no cause.
     */
    public KeyExpiredException(String message) {
        super(message);
    }

    /**
     * Constructs a new {@code KeyExpiredException} with the provided detail message and cause.
     */
    public KeyExpiredException(String message, Throwable cause) {
        super(message, cause);
    }
}
+48 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.security;

/**
 * Indicates that a cryptographic operation failed because the employed key's validity start date
 * is in the future.
 *
 * @hide
 */
public class KeyNotYetValidException extends CryptoOperationException {

    /**
     * Constructs a new {@code KeyNotYetValidException} without detail message and cause.
     */
    public KeyNotYetValidException() {
        super("Key not yet valid");
    }

    /**
     * Constructs a new {@code KeyNotYetValidException} with the provided detail message and no
     * cause.
     */
    public KeyNotYetValidException(String message) {
        super(message);
    }

    /**
     * Constructs a new {@code KeyNotYetValidException} with the provided detail message and cause.
     */
    public KeyNotYetValidException(String message, Throwable cause) {
        super(message, cause);
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -44,6 +44,10 @@ public abstract class KeymasterUtils {

    public static CryptoOperationException getCryptoOperationException(KeymasterException e) {
        switch (e.getErrorCode()) {
            case KeymasterDefs.KM_ERROR_KEY_EXPIRED:
                return new KeyExpiredException();
            case KeymasterDefs.KM_ERROR_KEY_NOT_YET_VALID:
                return new KeyNotYetValidException();
            case KeymasterDefs.KM_ERROR_KEY_USER_NOT_AUTHENTICATED:
                return new UserNotAuthenticatedException();
            default:
+16 −0
Original line number Diff line number Diff line
@@ -23,11 +23,27 @@ package android.security;
 * @hide
 */
public class UserNotAuthenticatedException extends CryptoOperationException {

    /**
     * Constructs a new {@code UserNotAuthenticatedException} without detail message and cause.
     */
    public UserNotAuthenticatedException() {
        super("User not authenticated");
    }

    /**
     * Constructs a new {@code UserNotAuthenticatedException} with the provided detail message and
     * no cause.
     */
    public UserNotAuthenticatedException(String message) {
        super(message);
    }

    /**
     * Constructs a new {@code UserNotAuthenticatedException} with the provided detail message and
     * cause.
     */
    public UserNotAuthenticatedException(String message, Throwable cause) {
        super(message, cause);
    }
}