我尝试通过 java 解锁或更改智能卡令牌上的 pin。通过 SunPKCS11-Wrapper 编写和读取智能卡证书没什么大不了的,但我在 PKCS11-wrapper-class 中看不到任何 C_setPIN 或 C_initPIN 方法。
那么有没有办法使用 SunPKCS11-Wrapper 解锁智能卡引脚?
Sun 的 PKCS#11 提供程序并不适合这种情况。但它是在 IAIK 的开源包装器之上实现的,它可能包含您要查找的内容,请参阅Session.setPIN()的链接。请注意,直接链接到sun.*
包是非常不受欢迎的,尽管Session
该类很可能隐藏在某个地方。
使用 IAIK PKCS11 包装器解锁 PIN:
Session session = token.openSession(Token.SessionType.SERIAL_SESSION, Token.SessionReadWriteBehavior.RW_SESSION, null, null);
session.login(Session.UserType.SO, puk.toCharArray());
session.initPIN(newPin.toCharArray());