加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 当Keystore是USB cryptotoken时,如何从Keystore.load中

发布时间:2020-12-15 00:51:52 所属栏目:Java 来源:网络整理
导读:您好我正在使用SUN PKCS11实现来执行USB cryptotokens中的PKI证书操作 我为特定的USB令牌创建了一个提供者对象,然后调用 Keystore ks = KeyStore.getInstance(PKCS11_KEYSTORE_TYPE,prov); 然后我加载它 keyStore.load(null,PIN.toCharArray()) 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).

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读