Я безуспешно пытался последние 2 месяца, и я думаю, что пришло время спросить здесь.
У меня есть смарт-карта и CSP от моего клиента. У меня есть документы, описывающие команды APDU, которые я могу (и знаю, как) выполнять.
Мне нужно сохранить небольшие файлы (данные) на карту, такие как имя, адрес, фото и т. д. И позже сохранить сертификаты.
В документации я прочитал, что вы должны сделать внешнюю аутентификацию, чтобы позже использовать безопасный обмен сообщениями для доступа к файлам на карте. У меня есть ошибка где-то в алгоритме взаимной аутентификации (требуется вычисление MAC, DES, TRIPPLE DES и т. д., и я несколько недель пытался заставить его работать...) Я знаю, как делать все на карте, кроме функций, которые требуют взаимного аутентификация.
Я просмотрел функции, предоставляемые CSP, и не увидел там никакой внешней аутентификации. Единственное место, где я видел внешнюю аутентификацию не на уровне APDU, было в «Спецификации мини-драйвера смарт-карт Windows», где я вижу такие функции, как: CardAuthenticateEx. Но я не знаю, как их вызвать (в какой dll они находятся). Должны ли эти функции быть в CSP?
Неправильно ли использовать низкоуровневые команды APDU, если у меня есть CSP? Должен ли я вместо этого использовать CryptoAPI или CAPICOM? Если да, то как я могу выполнять внешнюю аутентификацию и использовать файлы, если нет (или я не могу найти) функций, которые записывали бы в файл. (опять же, все эти функции находятся в «Спецификации мини-драйвера Windows Smart Card».