微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 当Keystore是USB cryptotoken时,如何从Keystore.load中抑制PIN错误对话框

您好我正在使用SUN PKCS11实现来执行USB cryptotokens中的PKI证书操作

我为特定的USB令牌创建了一个提供者对象,然后调用

Keystore ks =  KeyStore.getInstance(PKCS11_KEYSTORE_TYPE,prov);

然后我加载它

keyStore.load(null,PIN.tochararray())

PIN是用户输入的特定证书的PIN

现在,当负载由于错误的PIN而失败时,不同的cryptotokens表现不同.当PIN错误时,Keystore :: load会抛出IOException,但是,

例如.

> Watchdata USB令牌首先会弹出一个对话框,其中显示“PIN为
错误. X尝试离开“&然后抛出IOException.
>金雅拓& Fietian不会抛出一个对话框但只抛出一个
IOException异常

我想为所有USB类型显示PIN错误消息,但如果我添加自己的对话框,那么在WatchData上我最终得到2个对话框(1个来自我自己的Watchdata和1).

有没有办法弄清楚错误信息是否已经显示?或者有没有办法抑制加密狗上显示自己的错误对话框?

解决方法

该行为是特定于令牌的,因为标准没有指定驱动程序必须如何表现.因此,显示窗口是您无法控制的.您可以做的最好的事情是联系特定设备的供应商并向他们寻求帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐