Имеем хост-систему (Windows XP) и виртуализированную гостевую систему (VirtualBox + Windows 7). К хосту подключен Aladdin eToken PRO (Java). Хотим работать с ним изнутри виртуалки.
Проблема: не работает. Симптомы выглядят как-то так (скриншот аладдиновского PKI-клиента внутри виртуализированной системы).
При этом забавно то, что более "тухлые" модели токенов типа вот такого заводятся внутри VirtualBox-а без каких-либо проблем и излишних телодвижений. По всей видимости, "затык" кроется в новых переработанных драйверах для последних версий токенов, которые почему-то не "зацепляются" корректно VirtualBox-овским перехватчиком USB-устройств на хосте.
В качестве решения можно порекомендовать вот такой костыль.
- Физически выдёргиваем все имеющиеся токены из хост-машины.
- На хосте идем в диспетчер устройств.
- Логически отключаем все "устройства чтения смарт-карт", как показано на скриншоте.
В результате должно получится что-то типа того (скриншот с системы на хост-машине). - Физически втыкаем нужные нам токены в хост-машину.
- Пробрасываем токен вовнутрь виртуальной системы.
- На этот раз всё должно заработать. Вот так выглядит "правильный" скриншот PKI-клиента изнутри виртуализированной системы.
Если не хочется / лениво каждый раз логически отключать-включать смарт-карты на хосте, то можно воспользоаться WorkAround-ом. Включить в виртуальной машине RDP-сервер (он же "удаленный рабочий стол") и зайти на него с хост-машины, предварительно включив редирект смарт-карт с клиента на сервер.
В таком случае всё также заработает без каких-либо дополнительных телодвижений.