阅读:2884回复:5
Windows智能卡登录问题
我正在开发一个USB设备的PCSC驱动,基本的东西都已经差不多了,设备识别,卡片复位,调用系统函数读写,都是成功的,但是在测试windows2000的智能卡登录时遇到了问题,正常情况下应该在登录或锁定界面插入设备就可以出现PIN输入框的,可以现在三次才出现一次,SoftICE跟踪驱动,所得三次数据完全相同。具体情况如下:
A 每次启动Windows或Smartcard服务时如果机具已经插在USB口上,那么只要在登录界面插入卡就可以出现PIN框了,拔卡PIN框消失,再插出现,反正就是无比的正确。 B 如果拔出设备,再插入,这时不管怎么插拔卡,什么都没有出现(SoftICE跟踪驱动工作正常) C 再拔,再插,还是不行, D 再拔再插,又好了,如此类推,只有在第三次的时候才行。 如果启动时设备不在USB上,那么情况就从B开始。 究竟是什么才能最后触发PIN输入框,也就是说到底什么情况才能百分百激活出这个PIN框? |
|
最新喜欢:![]()
|
沙发#
发布于:2008-09-12 11:24
问题过去3年了,我自己来结束这个问题吧,解释就是:
windows2000的BUG,就是这么简单,对即插即用的智能卡支持不够好。如果改成在windows里设置一两个常态的智能卡设备slot(虚拟设备),然后一旦检测到插入设备就把此slot设成插入卡,拔除设备就设成拔除卡,简单来说就是利用虚拟设备slot将设备的拔插模拟成卡片的拔插。一切就解决了。 |
|
|
板凳#
发布于:2004-08-09 16:51
但我又遇到了一个新问题。就是我向系统注册了读卡器,注册表键如下:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\ukSmart] "ATR"=hex:3b,89,40,14,47,47,32,34,4d,35,32,38,30 "ATRMask"=hex:ff,00,ff,ff,00,00,00,00,00,00,00,ff,ff "Crypto Provider"="My CSP Cryptographic Service Provider v1.0" 但是在通过IE去申请智能卡证书时,即在智能卡注册站中的CSP列表中,没有我的CSP名字,不知问题出在什么地方? |
|
地板#
发布于:2004-08-09 16:48
majin1997:我不能说明你的问题在什么地方,但是我的驱动当卡插入时,它会弹出PIN框,当拔出时会消失,无论怎么样插拔,都一样的效果,你只要记住一点那就是在卡插入时,它的CurrentState = present,当卡拔出时CurrentState = absent就可以了,这样一定行。
|
|
地下室#
发布于:2004-08-06 15:30
祝你早日成功!努力中! :cool:
|
|
|
5楼#
发布于:2004-08-06 15:23
我对你的设备不是很清楚,在此一点小的建议希望对你有帮助.
1.设备的拔除插入,是否成功的重新完成枚举? 2.设备拔除插入后,你的插拔卡过程跟踪过总线信息,是否正确? 3.如果对插拔卡的处理在设备内部完成,跟踪固件程序,处理过程是否 正确? |
|
|