【问题标题】:PKCS11 - Delete prefix "SunPKCS11-"?PKCS11 - 删除前缀“SunPKCS11-”?
【发布时间】:2017-11-15 08:20:03
【问题描述】:

可以删除前缀“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

【问题讨论】:

  • 我可以获得供应商名称“SmartCard”。不幸的是,我注意到我创建的提供程序的名称为“SunPKCS11-SmartCard”。我的问题:如何删除“SunPKCS11-”?
  • 不,因为提供者的名称是“SunPKCS11-SmartCard”,而不是“SmartCard”。你关心提供者的名字是什么?我之前对此效果的评论被神秘地删除了,原因不明。

标签: java sign pkcs#11 gemalto


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-05-23
    • 2021-07-08
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多