From 2232e42ce097fa1cefa5b3905a5f23c659f71b74 Mon Sep 17 00:00:00 2001 From: "avinash.hedage" Date: Mon, 20 Jun 2022 07:44:07 +0000 Subject: [PATCH] setting the device locked timestamp during first access --- .../com/android/javacard/keymaster/KMKeymasterApplet.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java b/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java index e10e8220..d2836879 100644 --- a/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java +++ b/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java @@ -624,7 +624,12 @@ private void processDeviceLockedCmd(APDU apdu) { passwordOnly = KMInteger.cast(passwordOnly).getByte(); validateVerificationToken(verToken, scratchPad); short verTime = KMVerificationToken.cast(verToken).getTimestamp(); - short lastDeviceLockedTime = kmDataStore.getDeviceTimeStamp(); + short lastDeviceLockedTime; + try { + lastDeviceLockedTime = kmDataStore.getDeviceTimeStamp(); + } catch (KMException e) { + lastDeviceLockedTime = KMInteger.uint_8((byte) 0); + } if (KMInteger.compare(verTime, lastDeviceLockedTime) > 0) { Util.arrayFillNonAtomic(scratchPad, (short) 0, KMInteger.UINT_64, (byte) 0); KMInteger.cast(verTime).getValue(scratchPad, (short) 0, KMInteger.UINT_64);