summaryrefslogtreecommitdiff
path: root/keystore/java/android/security/AuthTokenUtils.java
diff options
context:
space:
mode:
authorLouis Chang <louischang@google.com>2021-01-18 14:58:14 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-01-18 14:58:14 +0000
commit5896e8c4fdbe45a0fe3df89fa78c18e5a5c64d29 (patch)
tree6126610f23a232158120f287b37a7f5aa8292458 /keystore/java/android/security/AuthTokenUtils.java
parentd8e3e072641ad6f603d8e916eaaf329f532aee01 (diff)
parent589975d1989955878b92bb90c3c5b93a6b5cfb44 (diff)
Merge "Revert "Integrate IKeystoreAuthorization aidl's addAuthToken wit...""
Diffstat (limited to 'keystore/java/android/security/AuthTokenUtils.java')
-rw-r--r--keystore/java/android/security/AuthTokenUtils.java75
1 files changed, 0 insertions, 75 deletions
diff --git a/keystore/java/android/security/AuthTokenUtils.java b/keystore/java/android/security/AuthTokenUtils.java
deleted file mode 100644
index 14d6626e5e97..000000000000
--- a/keystore/java/android/security/AuthTokenUtils.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2020 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;
-
-import android.annotation.NonNull;
-import android.hardware.security.keymint.HardwareAuthToken;
-import android.hardware.security.keymint.Timestamp;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * @hide This Utils class provides method(s) for AuthToken conversion.
- */
-public class AuthTokenUtils {
-
- private AuthTokenUtils(){
- }
-
- /**
- * Build a HardwareAuthToken from a byte array
- * @param array byte array representing an auth token
- * @return HardwareAuthToken representation of an auth token
- */
- public static @NonNull HardwareAuthToken toHardwareAuthToken(@NonNull byte[] array) {
- final HardwareAuthToken hardwareAuthToken = new HardwareAuthToken();
-
- // First byte is version, which does not exist in HardwareAuthToken anymore
- // Next 8 bytes is the challenge.
- hardwareAuthToken.challenge =
- ByteBuffer.wrap(array, 1, 8).order(ByteOrder.nativeOrder()).getLong();
-
- // Next 8 bytes is the userId
- hardwareAuthToken.userId =
- ByteBuffer.wrap(array, 9, 8).order(ByteOrder.nativeOrder()).getLong();
-
- // Next 8 bytes is the authenticatorId.
- hardwareAuthToken.authenticatorId =
- ByteBuffer.wrap(array, 17, 8).order(ByteOrder.nativeOrder()).getLong();
-
- // while the other fields are in machine byte order, authenticatorType and timestamp
- // are in network byte order.
- // Next 4 bytes is the authenticatorType.
- hardwareAuthToken.authenticatorType =
- ByteBuffer.wrap(array, 25, 4).order(ByteOrder.BIG_ENDIAN).getInt();
- // Next 8 bytes is the timestamp.
- final Timestamp timestamp = new Timestamp();
- timestamp.milliSeconds =
- ByteBuffer.wrap(array, 29, 8).order(ByteOrder.BIG_ENDIAN).getLong();
- hardwareAuthToken.timestamp = timestamp;
-
- // Last 32 bytes is the mac, 37:69
- hardwareAuthToken.mac = new byte[32];
- System.arraycopy(array, 37 /* srcPos */,
- hardwareAuthToken.mac,
- 0 /* destPos */,
- 32 /* length */);
-
- return hardwareAuthToken;
- }
-}