我想使用 nss 作为 pkcs11 的提供者,并且我正在使用 java、oracle JRE 和 ubuntu 64bit 进行编码。我尝试了 2 种不同的包装器,iaik 和 SunPKCS11,但我都遇到了同样的问题。对于我的提供者,我首先尝试使用 libnss3.so 并且每次在实例化模块中遇到 IOException。然后我使用 libsoftokn3.so 并成功实例化了一个模块。但是现在我在初始化时遇到了这个异常:“CKR_ARGUMENTS_BAD”
这是我的代码,第一个使用 iaik,第二个使用 SunPKCS11
iaiak:
Module pkcs11Module = Module.getInstance("libsoftokn.so");
pkcs11Module.initialize(null); //Here Throws the Excption:"iaik.pkcs.pkcs11.wrapper.PKCS11Exception: CKR_ARGUMENTS_BAD"
Info info = pkcs11Module.getInfo();
System.out.println(info);
pkcs11Module.finalize(null);
SunPKCS11:
String configName = "cfg";
Provider p = new sun.security.pkcs11.SunPKCS11(configName); //Here Throws the Excption:"sun.security.pkcs11.wrapper.PKCS11Exception: CKR_ARGUMENTS_BAD"
Security.addProvider(p);
和文件“cfg”:
name = nss
library = /usr/lib/libsoftokn3.so