Forum Stats

  • 3,838,691 Users
  • 2,262,394 Discussions


Smart Card Problem in Java with server

Hi everybody.I use smart card authentication to sign my web application which was deployed in apache tomcat and I use servlet & jsp fro developing this web application.When deploy application on local machine there is no problem.

    public String getInfo(String password) {

        String certInfo = "";

        try {

            String configName = "C:/smartcards/config/pkcs11.cfg";

            String PIN = password;

            Provider p = new;


            ((SunPKCS11) p).logout();

            KeyStore keyStore = KeyStore.getInstance("PKCS11");

            char[] pin = PIN.toCharArray();

            keyStore.load(null, pin);

            Enumeration aliasesEnum = keyStore.aliases();

            String alias = (String) aliasesEnum.nextElement();

            X509Certificate cert = (X509Certificate) keyStore.getCertificate(alias);

            certInfo += cert.toString();

        } catch (Exception e) {



        return certInfo;


The preceding method return String which was stored in smart card when I pass password of smart card.If password wrong load failed.

Then I deployed this web app in the server.When I run this app everything is ok when I also remote desktop connected to server.When I close RDP I get Token has been removed exception on web server.How can I solve this problem.I want to also sign to app without remote desktop connection.

This discussion has been closed.