-2

我正在尝试读出 etoken 的证书。我已经从使用 java 的数字签名电子令牌中遵循 Keystore 的答案。它给了我安装在令牌中的证书,但之后令牌不再可用。有人在访问令牌时得到了类似的东西吗?

// Create instance of SunPKCS11 provider 
String pkcs11Config = "name=eToken\nlibrary=C:\\path\\to\\your\\pkcs11.dll"; 
java.io.ByteArrayInputStream pkcs11ConfigStream = new java.io.ByteArrayInputStream(pkcs11Config.getBytes()); 
sun.security.pkcs11.SunPKCS11 providerPKCS11 = new sun.security.pkcs11.SunPKCS11(pkcs11ConfigStream); 
java.security.Security.addProvider(providerPKCS11);  // Get provider KeyStore and login with PIN String pin = "11111111"; 
java.security.KeyStore keyStore = java.security.KeyStore.getInstance("PKCS11", providerPKCS11); 
keyStore.load(null, pin.toCharArray());  // Enumerate items (certificates and private keys) in the KeyStore 
java.util.Enumeration<String> aliases = keyStore.aliases(); 
while (aliases.hasMoreElements()) {
    String alias = aliases.nextElement();
    System.out.println(alias); 
}

问题仍然存在,在插入/插入令牌后再次可以访问,但在运行代码后,令牌似乎再次被锁定。操作系统 Win2k8 服务器。

4

1 回答 1

0

终于明白了这一点。断开其他 USB 设备后,令牌会照常响应。

令牌应插入完全供电的端口。最好在单独的主机总线上。

于 2017-08-15T22:55:05.897 回答