在Java 8中,我们可以执行以下操作:
PKCS11 p11 = PKCS11.getInstance("/usr/local/lib/libsiecap11.so", "C_GetFunctionList", null, false);
long[] slots = p11.C_GetSlotList(true);
但是在Java 9中不推荐使用PKCS11,现在我找不到任何替代方法。
最佳答案
从Java-9 Javadoc:
Java应用程序可以使用现有的JCA和JCE API进行访问
通过PKCS#11
提供程序提供的SunPKCS11
token 。
供参考:我比较了Java-8 doc和Java-9 doc,而PKCS#11
似乎没有太大区别
编辑:
我在JDK 1.8上运行了Op的代码,当我更改为JDK 11时,我能够执行它,因为缺少Libs
,所以出现了以下错误。
缺少库:
sun.security.pkcs11.wrapper.PKCS11;
sun.security.pkcs11.wrapper.PKCS11Exception;
我要求您在 github 上打开一个事件,以解决此问题。