CKR_DEVICE_REMOVED | PKCS 11 | IAIK Wrapper | On Idle time

35 Views Asked by At

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();
}
1

There are 1 best solutions below

1
Manjunath Kotagi On

At Simulator configuaration, set KeepAlive=false