PKCS11 - 删除前缀 "SunPKCS11-"?
PKCS11 - Delete prefix "SunPKCS11-"?
可以删除前缀"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
正如@EJP 所指出的,您无法更改提供者名称。当您创建提供者实例时,Java 将字符串 SunPKCS11-
prefix 添加到您提供的名称前面。您可以查看有关它的 Java 文档 here。
创建提供者实例后,建议使用 Provider.getName().
获取名称
可以删除前缀"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
正如@EJP 所指出的,您无法更改提供者名称。当您创建提供者实例时,Java 将字符串 SunPKCS11-
prefix 添加到您提供的名称前面。您可以查看有关它的 Java 文档 here。
创建提供者实例后,建议使用 Provider.getName().
获取名称