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.