From f6593d1839d6898851135d6e55d000781baf35cc Mon Sep 17 00:00:00 2001 From: "avinash.hedage" Date: Fri, 31 Dec 2021 12:46:43 +0000 Subject: [PATCH] fixed for updateAAD vts failure --- .../src/com/android/javacard/keymaster/KMKeymasterApplet.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java b/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java index 9db7208a..9aa1be77 100644 --- a/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java +++ b/Applet/src/com/android/javacard/keymaster/KMKeymasterApplet.java @@ -1766,6 +1766,8 @@ private void finishAesDesOperation(KMOperationState op){ if (op.getPurpose() == KMType.DECRYPT && (len < (short) (op.getMacLength() / 8))) { KMException.throwIt(KMError.INVALID_INPUT_LENGTH); } + // update aad if there is any + updateAAD(op, KMType.INVALID_VALUE, (byte) 0x01); if(op.isAesGcmUpdateAllowed()){ op.setAesGcmUpdateComplete(); } @@ -2206,7 +2208,7 @@ private void updateAAD(KMOperationState op, short associatedData, byte finish) { if (!op.isAesGcmUpdateAllowed()) { KMException.throwIt(KMError.INVALID_TAG); } - aData = KMByteTag.cast(tmpVariables[1]).getValue(); + aData = KMByteTag.cast(tag).getValue(); } } try {