java.lang.UnsatisfiedLinkError: com.chrysalisits.crypto.LunaAPI.Initialize()V

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

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

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

也就是说,您还可以在 VM 参数中设置:

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

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

我的应用程序使用旧库的 com.chrysalisits.crypto.* 类 与 Luna 客户端交互,但是我的 Luna 客户端已更新,并且它在其本机库中公开的功能在当前库中不存在。

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