You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enumeration<String> e = keyStore.aliases();
String issuer = "";
while (e.hasMoreElements() && issuer.indexOf("CN=Autoridade Certificadora de Defesa") < 0) {
alias = e.nextElement();
logger.info("Pegando o certificado do alias " + alias);
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);
CertificateManager cm = new CertificateManager( cert );
CertICPBrasil cert = cm.load(CertICPBrasil.class);
logger.info(" Nome.........:" + cert.getNome());
logger.info(" CPF..........:" + cert.getCpf());
logger.info(" ID...........:" + cert.getId());
logger.info(" CEI..........:" + cert.getCei());
logger.info(" BIRTH........:" + cert.getBirthDate());
logger.info(" E-mail.......:" + cert.getEmail());
logger.info(" Cert-Level...:" + cert.getCert_level());
logger.info(" Cert-Type....:" + cert.getCert_type());
logger.info(" ID Dispacher.:" + cert.getId_dispatcher());
logger.info(" UF Dispacher.:" + cert.getUf_dispatcher());
issuer = certificate.getIssuerX500Principal().getName("RFC1779");
logger.info(issuer);
}
Eu recebo o erro: O tamanho das informações extras do certificado não está correto. Dever ser igual a 2 e os dados do certificado vem apenas com nome e certLevel.
Os dados do certificado vem todos completos. O Token, Alias e KeyStore são exatamente os mesmos, sendo que o primeiro código eu pego ANTES de assinar e o segundo código eu pego do PKCS#7 assinado por ele.
Qual é a diferença nesse caso?
The text was updated successfully, but these errors were encountered:
Percebi que esse erro ocorre com JRE acima da versão 17. Me parece que seja na forma como o certificado é armazenado no keystore daquele que fica na assinatura, e que diante disso alguma classe da JRE que é usada pelo BouncyCastle interpreta diferente.
De imediato, só baixando a versão da JRE que estiver usando.
Para resolver isso completamente serão dois grandes passos a serem feitos.
1 - Atualizar o Demoiselle-Signer para utilizar a versão mais atual do Java, desse passo a parte mais complicada é o PKCS11 que mudou bastante, e a parte de leitura das libs do dispositivos (token, leitura, nuvem, etc...) terá que ser revisitada.
2 - O segundo passo será a atualização para o BouncyCastle mais atual, que também demanda atualização de código, se não me enganei tem alguém na comunidade que se dispôs a ver isso.
Quando eu faço isso:
Eu recebo o erro:
O tamanho das informações extras do certificado não está correto. Dever ser igual a 2
e os dados do certificado vem apenas com nome e certLevel.Mas se eu faço isso:
Os dados do certificado vem todos completos. O Token, Alias e KeyStore são exatamente os mesmos, sendo que o primeiro código eu pego ANTES de assinar e o segundo código eu pego do PKCS#7 assinado por ele.
Qual é a diferença nesse caso?
The text was updated successfully, but these errors were encountered: