Вопрос: на самом деле вам не хватает очень важных деталей, поэтому технически на него нельзя ответить вообще!
Но простой (профанированный) на ваш вопрос - да - вы можете получить доступ к ключу, и вы можете расшифровать; Более важный вопрос - какой ключ вы можете получить, и что вы на самом деле делаете для дешифрования/шифрования или подписания?
Существует только два способа, которыми Вы можете сделать шифрование с помощью SC:
- выполнения операции шифровать (отправить APDU) до различных нокаутов (ключ объекта): RSA, ECC KO или ключ SM, все они личные ключи вы не можете прочитать с карты, но вы можете использовать PSO (PERFORM SECURITY OPERATION);
- сделайте это самостоятельно, используя открытый ключ, извлеченный из объекта CA (сертификата);
Объекты CA хранятся в общедоступном разделе карты, поэтому любой может прочитать его, и вам не нужна аутентификация для доступа к публичному разделу, естественно; KO находятся в частном разделе, поэтому вам сначала нужно получить к нему доступ, выполнив аутентификацию на карте (проверьте PIN-код);
NB: существует разница между шифрованием и подписью; когда вы зашифровываете то, что вы (хост) используете для этого открытый ключ, и только доверенная сторона (сервер) имеет закрытый ключ и может расшифровать его. Для подписи это одна и та же пара ключей, но операции отменены: вы (хозяин) используете закрытый ключ для подписи данных (подпись), и каждый может проверить (расшифровать) его с помощью открытого ключа для проверки подлинности хоста.
Думаю, она ничего не говорит об асимметричных ключах, верно? Она должна скорее использовать симметричные ключи со случайным IV, прикрепленным к зашифрованному сообщению ... – vojta