PKCS11 - Удалить префикс "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

1 ответ

Решение

Как указал @EJP, вы не можете изменить имя провайдера. Когда вы создаете экземпляр провайдера, Java добавляет строку SunPKCS11-префикс к имени, которое вы предоставляете. Вы можете посмотреть документацию по Java здесь.

После того, как вы создали свой экземпляр провайдера, рекомендуется получить имя с помощью Provider.getName ().

Другие вопросы по тегам