java.lang.UnsatisfiedLinkError : no j2pkcs11 in java. library.path in java6

标签 java keystore e-token

我正在尝试使用我编写的 java 应用程序使用 eToken 对 pdf 文件进行签名。我正在使用带有 Java 6.0.30 的 Windows 7 64 位版本。

当我运行应用程序时,出现异常提示

Exception in thread "signer" java.lang.UnsatisfiedLinkError: no j2pkcs11 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at sun.security.pkcs11.wrapper.PKCS11$1.run(PKCS11.java:88)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.security.pkcs11.wrapper.PKCS11.<clinit>(PKCS11.java:86)
    at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:281)
    at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:90)
    at com.greytip.cougar.pdfsigner.PdfSigner.getProvider(PdfSigner.java:364)

但是当我查找时,j2pkcs11.dll 文件可用于 jdk 1.5,但在我的 jdk 1.6 64 位中不可用。

是否与 java 安全策略有关,因为异常来自 AccessController,即 dll 位于 windows 7 的 protected 目录中?

提前致谢。

最佳答案

看起来 pkcs11 没有在任何 64 位版本的 java 中实现。它仅在 32 位版本中可用。

所以我打算安装 32 位版本的 java 并使用它。

关于java.lang.UnsatisfiedLinkError : no j2pkcs11 in java. library.path in java6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11026196/

相关文章:

java - 布局 - 图像不在底部且重叠

java - 如何允许用户对日志级别进行永久更改?

java - 从Servlet中获取JSP中的剪切图像

java 8 你能将方法传递给过滤器吗

java - ECDH 使用 Android KeyStore 生成私钥

java - 如何使用 eToken 在客户端加密数据

java - 从 Java API 打开 x509 证书存储

java - 使用 java 从 usb token 读取 pfx 文件

java - 使用Java访问windows-my时如何避免智能卡选择弹出窗口

java - 如何在特定连接上使用不同的证书?