Bom dia pessoal,
Estou com um problema no certificado A3 com token da rainbow.
Meu token.cfg etá assim:
name=Safenetikey2032
library=c:/windows/system32/dkck201.dll
Um pedaço do meu código está assim:
[code] Provider p = new sun.security.pkcs11.SunPKCS11(getcertificadoFile());
Security.addProvider(p);
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
System.setProperty("javax.net.ssl.keyStore", "NONE");
System.setProperty("javax.net.ssl.keyStorePassword", getcertificadoPassword());
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", CERTIFICADO_ARQUIVO_PR);
System.setProperty("javax.net.ssl.trustStorePassword", CERTIFICADO_SENHA_PR);
KeyStore ks = KeyStore.getInstance("PKCS11");
ks.load(null, certificado.getcertificadoPassword().toCharArray());
Enumeration<String> aliasesEnum = ks.aliases();
while (aliasesEnum.hasMoreElements()) {
String alias = (String) aliasesEnum.nextElement();
System.out.println("<INICIO -------------------------------------------------------------------------------------------------");
System.out.println("----> Certificado alias: " + alias + " Key store type: " + ks.getType());
X509Certificate certif = (X509Certificate)ks.getCertificate(alias);
System.out.println( "SN = " + certif.getSerialNumber().toString(16) );
System.out.println( "Issuer = " + certif.getIssuerDN().toString() );
System.out.println( "subject= " + certif.getSubjectDN().toString() );
System.out.println("<FIM ----------------------------------------------------------------------------------------------------");
}
[/code]
No token existe a seguinte cadeia de chaves:
[color=blue]AC Raiz
AC Secretaria da refeita federal do brasil
AC Serasa RFB
Empresa com o certificado E-CNPJ
[/color]
Quando eu executo o programa o retorno é o seguinte:
[color=red]<INICIO -------------------------------------------------------------------------------------------------
----> Certificado alias: 2a12a8fb-d26c-45dd-acdf-4b2e94a8a185 Key store type: PKCS11
SN =5
Issuer =CN=Autoridade Certificadora Raiz Brasileira v1, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR
subject=CN=AC Secretaria da Receita Federal do Brasil, O=ICP-Brasil, C=BR
<FIM ----------------------------------------------------------------------------------------------------
[/color]
Ou seja não está me retornando o certificado da empresa com E-CNPJ e sim o segundo nível da raiz, neste caso AC Secretaria da REceita Federal do Brasil
Alguém já passou por isso ?
[color=darkred]Obs: No cartão tipo A3 está tudo certo o problema dá apenas no token.[/color]
Por gentileza, se alguém puder me ajudar eu agradeço.
Um abraço a todos.