2017-11-15 20 views
0

접두사 "SunPKCS11-"을 삭제할 수 있습니까? 항상 "SmartCard"가 아닌 "SunPKCS11-SmartCard"라는 이름의 공급자를 얻게되기 때문에.PKCS11 - 접두어 "SunPKCS11-"을 삭제 하시겠습니까?

이 내 코드 :

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); 

이 내 구성 파일 :

@EJP는 지적
name = SmartCard 
description = configuration file 
library =C:\Program Files\Gemalto\Classic Client\BIN\gclib.dll 
+0

나는 공급자 이름 "SmartCard"를 얻을 수 있습니다. 불행하게도 필자는 내가 만든 공급자가 "SunPKCS11-SmartCard"라는 이름을 가지고 있음을 확인했습니다. 내 질문 : "SunPKCS11-"을 제거하는 방법? –

+0

아니요, 공급자의 이름이 'SmartPard'가 아닌 'SunPKCS11-SmartCard'이기 때문입니다. 당신은 공급자의 이름이 무엇인지 신경 써야합니까? 이 효과에 대한 나의 이전의 코멘트는 불가사의하게 제거되었고, 이유는 알려지지 않았습니다. – EJP

답변

0

, 당신은 공급자의 이름을 변경할 수 없습니다. 공급자 인스턴스를 만들 때 자바는 사용자가 제공 한 이름 앞에 접두사 인 SunPKCS11-을 붙입니다. 자바 문서에 대한 내용은 here을 참조하십시오.

공급자 인스턴스를 만든 후에는 Provider.getName()을 사용하여 이름을 가져 오는 것이 좋습니다.