PKCS11 - 删除前缀" SunPKCS11 - "?

时间:2017-11-15 08:20:03

标签: java sign pkcs#11 gemalto

可以删除前缀" SunPKCS11 - "? 因为我总是得到一个名称为" SunPKCS11-SmartCard"而不是" SmartCard"

这是我的代码:

String configName = "pkcs11.cfg";

Provider p = getInstalledProvider(providerName);
if (p == null)
{ 
    p = new sun.security.pkcs11.SunPKCS11(configName);
}

Security.addProvider(p);
return KeyStore.Builder.newInstance("PKCS11", p, loadProtection);

和我的配置文件:

name = SmartCard
description = configuration file
library =C:\Program Files\Gemalto\Classic Client\BIN\gclib.dll

1 个答案:

答案 0 :(得分:0)

正如@EJP指出的那样,您无法更改提供者名称。在创建提供程序实例时,Java会将字符串SunPKCS11-前缀添加到您提供的名称中。您可以查看有关它的Java文档here

创建提供者实例后,建议使用Provider.getName()获取名称。