Изображу схематично, как не работает (проброс токенов на сервер терминалов)
|||||| RDP |||| TCP/IP
wtware ---> TS <-------- VirtualHere Server
||||||||||||||USB port||||||||||||||
Теперь как работает (будет работать при реализации)
|||||||||||||||||TCP/IP |||||||||RDP
VirtualHere Server ---------> wtware -------> TS
|||||||||||||||||USB port|||||||SmartCard
От Wtware требуется:
1) иметь возможность загрузить VirtualHere клиент
2) в конфиге иметь возможность указать адрес сервера Vritualhere (IP) и ID (или адрес) USB порта на Virtualhere сервере (или несколько таких комбинаций)
3) в GUI реализовать возможность как подключения удаленного USB порта, так и отключения (например как реализовано переключение между виртуальными экранами - появляется всплывающая форма и там список IP:адрес из п.2 USB портов для подключения/отключения )
Те. пользователь подключает удаленное USB устройство (с помощью Virualhere клиента) к самой втвари, которое пробрасывается на сервер терминалов уже внутри RDP. Для токенов этот проброс будет - пробросом смарткарты (как будто кто-то включил токен в саму втварь) и криптопровайдер на стороне терминального сервера это увидит
Главная часть реализации - это поддержка подключения удаленного USB через GUI втвари (и не только подключение, но и ОТКЛЮЧЕНИЕ USB устройства)
P.S. если говорить, о безопасности выставления в сеть сервера с USB ключами, то варианты решения:
а) Virtualhere имеет функционал авторизации и SSL
б) так как используется сеть, то доступна фильтрация на уровне L2/L3 через файрвол на сервере Virtualhere и/или маршрутизаторе
в) пинкоды для самих токенах
г) еще 4 комбинации сочетания пунктов а), б) и в)
Вот пример реализации GUI:
https://prnt.sc/33h7wsJAtQvd