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 ().