2017-03-03 78 views
-1

我在运行我的应用程序时遇到了异常。java.lang.UnsatisfiedLinkError:com.chrysalisits.crypto.LunaAPI.Initialize()V

Caused by: java.lang.UnsatisfiedLinkError: com.chrysalisits.crypto.LunaAPI.Initialize()V at com.chrysalisits.crypto.LunaAPI.Initialize(Native Method) at com.chrysalisits.crypto.LunaTokenManager.(LunaTokenManager.java:107) at com.chrysalisits.crypto.LunaTokenManager.getInstance(LunaTokenManager.java:62)

我在$JAVA_HOME/jre/lib/ext添加LunaProvider.jarlibLunaAPI

回答

0

我已经解决了我的问题。 实际问题是本地客户端库(libLunaAPI.so)与Luna客户端之间不匹配。

我的应用程序使用旧图书馆的com.chrysalisits.crypto。*类与Luna客户端进行交互,但是我的Luna客户端得到更新,并且它在本地库中公开的函数在当前库中不存在。

我使用com.safenetinc.luna。*类和最新的客户端库更新了我的客户端应用程序。

0

我强烈建议您向HSM支持团队寻求帮助,而不是Stackoverflow。

如果Java无法找到有关.so/.dll(库)文件,则会出现此错误。另外,请确保在该位置具有正确的32/64位版本的库。

这就是说,在VM参数,你也可以设置:

-Djava.library.path=/location_to_the_libLunaAPI_so_file (possibly, /usr/lunasa/JSP/lib .. or something) 
+0

感谢您的回复。 – Pawan

+0

我在java库路径中添加了libLunaAPI.so和LunaProvider.jar,但错误仍然相同 – Pawan

+0

只需将它(libLunaAPI.so)放在$ JAVA_HOME/jre/lib中...看看是否有帮助,也可以试试$ JRE_HOME/lib ... –