Mar 24, 2016 13:12
Проблема:
При попытке войти в систему с помощью смарт-карты получаем крайне информативный отлуп:
"this smart card could not be used"
Проблема особенно часто проявляется при использовании мобильного интернета и/или нестабильных каналов связи.
При этом имеется 100% уверенность, что с драйверами на клиенте и сервере, а также самой смарт-картой и сертификатами всё в полном порядке.
Причина:
По дефолту, таймаут работы со смарт-картой для обмена RSA-ключами равен 1,5 секундам.
Этого более чем достаточно в случае работы в интрасети, но недостаточно при работе через медленный интернет.
Решение:
1) Вваливаемся в regedit.
2) Находим ключи.
2.1) В общем случае:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft Base Smart Card Crypto Provider]
[...]
"TransactionTimeoutMilliseconds"=dword:00005DC
[...]
2.2) Конкретно в моём случае:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\eToken Base Cryptographic Provider]
[...]
"TransactionTimeoutMilliseconds"=dword:000005DC
[...]
3) Увеличиваем значение TransactionTimeoutMilliseconds до необходимых значений. Я установил 1388, что в переводе равняется 5 секундам.
4) ???
5) PROFIT!!!
__
smart cards,
windows server,
win2012r2