I am using iaikPkcs11Wrapper_1.6.2.jar to encrypt/decrypt using Utimaco HSM.
Operations are working fine but after some idle time, when I request for encrypt/decrypt then I am getting TokenException with message 'CKR_DEVICE_REMOVED'.
I am opening/closing new session for each request.
It is working very nicely, but after some idle time. it will throw 'CKR_DEVIDE_REMOVED'.
It should work even after idle time.
public Token initiateToken() throws TokenException {
String moduleName = "someValue";
Module module = Module.getInstance(moduleName);
module.initialize(null);
int slotNumber = 0;
Slot[] slotList = module.getSlotList(Module.SlotRequirement.TOKEN_PRESENT);
Slot activeSlot = slotList[slotNumber];
Token token = activeSlot.getToken()
return token;
}
public Session getSession(Token token) throws TokenException {
String userPin = "someValue";
// open session
Session session = token.openSession(Token.SessionType.SERIAL_SESSION,
Token.SessionReadWriteBehavior.RW_SESSION, null, null);
// login to session
session.login(Session.UserType.USER, userPin.toCharArray());
return session;
}
public void closeSession(Session session) throws TokenException {
session.closeSession();
}
At Simulator configuaration, set KeepAlive=false