Я могу прочитать смарт-карту с помощью смартфона смартфонов Tactivo от PB, но не знаком с процессом проверки. Вот пример того, что я должен прочитать вход:Как проверить карту Smart/CAC с использованием ввода Precise Biometrics Tactivo
...
channel = card.getBasicChannel();
// See www.globalplatform.org for more information about this command.
// CLA = 0x80
// INS = 0xCa
// P1 = 0x9F
// P2 = 0x7F
// Le = 0x00
CommandAPDU GET_DATA_CardProductionLifeCycle = new CommandAPDU(0x80, 0xCA, 0x9F, 0x7F, 0x00);
ResponseAPDU cardResponse;
// Send the command to the card
cardResponse = channel.transmit(GET_DATA_CardProductionLifeCycle);
// Check SW1 if we provided wrong Le
if (cardResponse.getSW1() == 0x6C) {
// Modify the command with correct Le reported by the card in SW2.
GET_DATA_CardProductionLifeCycle = new CommandAPDU(0x80, 0xCA, 0x9F, 0x7F, cardResponse.getSW2());
// Re-send the command but now with correct Le
cardResponse = channel.transmit(GET_DATA_CardProductionLifeCycle);
}
// Check if the card has data for us to collect
if (cardResponse.getSW1() == 0x61) {
// Issue a GET RESPONSE command using SW2 as Le
CommandAPDU GET_RESPONSE = new CommandAPDU(0x00, 0xC0, 0x00, 0x00, cardResponse.getSW2());
cardResponse = channel.transmit(GET_RESPONSE);
}
// Check the final result of the GET DATA CPLC command
if (cardResponse.getSW() != 0x9000) {
// The card does not support Global Platform
System.out.println(String.format("8Card responded with SW:%04x", cardResponse.getSW()));// some sort of SW from the card here... Read as "SW: 6a82
System.out.println("9This card does not support the Global Platform " + "GET CPLC command");
return;
}
// we do not validate the data in this example - we assume that it is
// correct...
...
Если кто имеет опыт работы с смарт-карты/CAC карта valitaion/аутентификацией, пожалуйста, дайте мне некоторые указания, например, или что-то отрабатывать. Потому что там очень мало документации.
UPDATE: У меня есть приложение для Android, которое я хочу защитить смарт-картой. Я могу прочитать ввод любой смарт-карты, используя считыватель смарт-карт Precise Biometrics Tactivo Smart Card. Как я могу проверить/аутентифицировать этот вход, чтобы разрешить доступ к приложению только определенным пользователям?
Я не понимаю тег android. Также попробуйте уточнить свой вопрос, чтобы избежать опроса или закрытия запросов: это читатель, приложение CAC, смарт-карты в целом? На какой вклад вы ссылаетесь (PIN-код, отпечаток пальца)? И что вы подразумеваете под проверкой? – guidot
См. Обновление. Я имею в виду вход, который я получаю, когда подключаю смарт-карту к считывателю карт. Я могу получить вход с: 'String UID = card.getATR(). ToString();' Как я могу проверить это? Или это неверная переменная для проверки в первую очередь? – hunterInt