Skip to Main Content

Java Security

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Smart Card Problem in Java with server

AfsunKhammadliNov 20 2013

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 sun.security.pkcs11.SunPKCS11(configName);

            Security.addProvider(p);

            ((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) {

            System.out.println(e.getMessage());

        }

        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.

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 18 2013
Added on Nov 20 2013
0 comments
974 views