From b13d79344e77df19de1c8f0325421c27f04deab7 Mon Sep 17 00:00:00 2001 From: Boriss Melikjan Date: Mon, 16 Jun 2025 12:03:24 +0300 Subject: [PATCH] MOPPAND-1569: Add new CosmoX NFC fix. --- id-card-lib/src/main/java/ee/ria/DigiDoc/idcard/NFC.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/id-card-lib/src/main/java/ee/ria/DigiDoc/idcard/NFC.java b/id-card-lib/src/main/java/ee/ria/DigiDoc/idcard/NFC.java index 0f105c00d..cd5af6004 100644 --- a/id-card-lib/src/main/java/ee/ria/DigiDoc/idcard/NFC.java +++ b/id-card-lib/src/main/java/ee/ria/DigiDoc/idcard/NFC.java @@ -185,6 +185,8 @@ public NFC(IsoDep card, byte[] can) throws IOException, InvalidAlgorithmParamete private static final byte[] SEL_MAIN_AID = Hex.decode("a000000077010800070000fe00000100"); private static final byte[] CMD_SELECT_DF = Hex.decode("00a4010c"); + private static final byte[] CMD_SELECT_EF = Hex.decode("00a4020c"); + private static final byte[] CMD_READ_BINARY = Hex.decode("00B00000"); private static final byte[] CMD_SIGN = Hex.decode("002A9E9A"); @@ -288,7 +290,7 @@ private byte[] decryptNonce(byte[] encryptedNonce, byte[] CAN) throws NoSuchPadd } private static final byte[] MSE_SET_AT_PACE = Hex.decode("0022c1a4"); - private static final byte[] MSE_SET_AT_PACE_DATA = Hex.decode("800a04007f00070202040204830102"); + private static final byte[] MSE_SET_AT_PACE_DATA = Hex.decode("800a04007f0007020204020483010284010C"); private static final byte[] GA_GET_NONCE = Hex.decode("10860000"); private static final byte[] GA_GET_NONCE_DATA = Hex.decode("7c00"); @@ -468,7 +470,7 @@ public byte[] getCertificate(boolean authOrSign) throws NoSuchPaddingException, communicateSecure(CMD_SELECT_DF, authOrSign ? AWP : QSCD); // selectFile(authOrSign ? authCert : signCert, "the certificate"); - communicateSecure(CMD_SELECT_DF, authOrSign ? authCert : signCert); + communicateSecure(CMD_SELECT_EF, authOrSign ? authCert : signCert); byte[] certificate = new byte[0]; byte[] readCert = Arrays.copyOf(readFile, readFile.length);