Я занимаюсь разработкой приложения, в котором пользователь должен иметь возможность цифровой подписи документов XML с помощью смарт-карты, которая будет содержать их закрытый ключ.
Во время тестирования я могу сгенерировать данную подпись XMLпути к файлам двух ключей (открытого и закрытого).
Моя проблема заключается в том, как прочитать закрытый ключ со смарт-карты.Я могу получить ответ от карты, используя следующий код:
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();
CardTerminal terminal = terminals.get(0);
Card card = terminal.connect("*");
System.out.println("Card: " + card);
CardChannel channel = card.getBasicChannel();
ResponseAPDU r = channel.transmit(new CommandAPDU(0x00, 0x84, 0x00, 0x00, 0x08));
String hex = DatatypeConverter.printHexBinary(r.getBytes());
System.out.println("Response: " + hex);
Буду признателен за любую помощь в том, как читать / просматривать содержимое карты, чтобы найти личный ключ.
Спасибо!