2016-09-14 65 views
0

我想在Linux機器上使用ePass 2003令牌簽名XML。 在Windows機器上簽名是成功的,但它在Linux機器中引發異常。通過ePass 2003令牌在Linux服務器上簽名令牌

的異常如下:

Error: A JNI error has occurred, please check your installation and try again 
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/cms/CMSException 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048) 
    at java.lang.Class.getMethod0(Class.java:3018) 
    at java.lang.Class.getMethod(Class.java:1784) 
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) 
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.cms.CMSException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 


Configuration of Linux machine is listed below 

Java : JDK 1.8 update 91 
Token : ePass 2003 


PKCS11_KEYSTORE_TYPE = "PKCS11"; 
DIGITAL_SIGNATURE_ALGORITHM_NAME ="SHA256withRSA"; 
SUN_PKCS11_PROVIDER_CLASS = "sun.security.pkcs11.SunPKCS11"; 
DLL_PATH = "/home/ePass2003-Linux-x64/redist/libcastle.so.1.0.0"; 

請幫助我。

回答

0

它在Window機器上運行良好,但拋出列表。 由於文件夾路徑不正確而導致錯誤。 它不是一個度量問題。 請檢查基本的Java代碼流。 一些愚蠢的錯誤已經完成!