PKCS11: указанный модуль не найден
Я использую приведенный ниже код для отображения информации о цифровом сертификате.
String sFileName = System.getProperty("jboss.server.base.dir")+ "/properties/path.properties";
FileInputStream fis = new FileInputStream(sFileName);
PropertyResourceBundle iSignBundle = new PropertyResourceBundle(fis);
String sDll = iSignBundle.getString("DLL");
CK_C_INITIALIZE_ARGS initArgs = new CK_C_INITIALIZE_ARGS();
String functionList = "C_GetFunctionList";
initArgs.flags = 0;
PKCS11 tmpPKCS11 = null;
long[] slotList = null;
try {
tmpPKCS11 = PKCS11.getInstance(sDll, functionList,initArgs, false);
} catch (Exception e) {
try {
initArgs = null;
tmpPKCS11 = PKCS11.getInstance(sDll, functionList, initArgs, true);
} catch (IOException ex) {
ex.printStackTrace();
} catch (PKCS11Exception ex) {
ex.printStackTrace();
}
}
try {
slotList = tmpPKCS11.C_GetSlotList(true);
out.println("<b>slots</b>" + " ------"+slotList.length +"--------------" + "<b>labels</b>");
out.newLine();
for (long slot : slotList) {
CK_TOKEN_INFO tokenInfo = tmpPKCS11.C_GetTokenInfo(slot);
String.valueOf(tokenInfo.manufacturerID)+
out.println(slot + " --------------------" + String.valueOf(tokenInfo.label));
out.newLine();
}
} catch (PKCS11Exception ex) {
ex.printStackTrace();
} catch (Throwable t) {
t.printStackTrace();
}
Я использую сертификат SafeScrypt с Alladin eToken. Когда я получаю доступ к этому jsp, я получаю следующую ошибку. Тот же самый код отлично работал с etoken другого производителя в другой установке.
java.io.IOException: The specified module could not be found.
C:\Windows\System32\eTPKCS11.dll
sun.security.pkcs11.wrapper.PKCS11.connect(Native Method)
sun.security.pkcs11.wrapper.PKCS11.<init>(PKCS11.java:137)
sun.security.pkcs11.wrapper.PKCS11$SynchronizedPKCS11.<init>(PKCS11.java:1480)
sun.security.pkcs11.wrapper.PKCS11.getInstance(PKCS11.java:152)
org.apache.jsp.Tokens_jsp._jspService(Tokens_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)