demoiselle / signer

Repositório que contém os componentes para facilitar a implementação de assinatura digital nos padrões da ICP-BRASIL
https://www.frameworkdemoiselle.gov.br/v3/signer/
GNU Lesser General Public License v3.0
144 stars 72 forks source link

Estou com problema na utilização da biblioteca de assinatura CADES quando vai tentar resgatar as CAs... #151

Closed leoclaro closed 6 years ago

leoclaro commented 6 years ago

Boa tarde a todos, gostei muito da biblioteca da equipe, parabéns a todos.

Estou apenas com uma dificuldade para assinar 1 documento utilizando CAdES da biblioteca "Demoiselle Signer CADES". Utilizei a classe de exemplo "CAdESSignerTest", até quando a parte que carrega o certificado A1 funciona perfeitamente, porém quando vai efetuar a assinatura na linha "byte[] signature = signer.doDetachedSign(fileToSign);" ocorre a exceção: "org.demoiselle.signer.policy.impl.cades.SignerException: Nao foi possivel resgatar as CAs do provedor CN=AC Certisign RFB G5, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, C=BR at org.demoiselle.signer.policy.impl.cades.pkcs7.impl.CAdESSigner.doSign(CAdESSigner.java:532) at org.demoiselle.signer.policy.impl.cades.pkcs7.impl.CAdESSigner.doSign(CAdESSigner.java:497) at org.demoiselle.signer.policy.impl.cades.pkcs7.impl.CAdESSigner.doDetachedSign(CAdESSigner.java:784) at br.com.recivil.domain.Teste.testSignDetached(Teste.java:93)"

Tentei utilizando o PFX A1 da empresa, e também tentei ele no formato JKS, ambos da erro ao tentar resgatar as CAs. Eu utilizo esse certificado A1 em outra aplicação em uma consolidação de webservice ws-security e funciona corretamente.

esaito commented 6 years ago

Boa tarde, Vc clonou o projeto Git e está executando o teste unitário "CAdESSignerTest" ? Ou está usando outro projeto e só usou o exemplo? Caso seja em outro projeto certifique-se que está com a dependência:

             <dependency>
        <groupId>org.demoiselle.signer</groupId>
        <artifactId>chain-icp-brasil</artifactId>
                    <version> 3.2.7 </version>
    </dependency>
leoclaro commented 6 years ago

Em vez de clonar, eu baixei o compactado todo, e abri no netbeans como existente maven project, depois eu abri o modulo "Demoiselle Signer CADES", e dentro dele criei um pacote para testar, e uma classe "Teste.java" baseado na classe existente de teste "CAdESSignerTest", alterando para usar o A1. Ai eu coloquei para executar a classe minha "Teste.java" como principal para testar assinatura.

esaito commented 6 years ago

Então verifique mesmo as dependências do POM.XML, do projeto. Inclusive o escopo, no exemplo está como TEST, pois só é usado pelo JUnit.

leoclaro commented 6 years ago

Era a falta da dependência mesmo:

org.demoiselle.signer chain-icp-brasil 3.2.7

Tinha a dependência de teste, e eu acabei confundindo, agora olhei direitinho e coloquei a que você me passou e deu certo

leoclaro commented 6 years ago

Companheiro consegui aqui, funcionou certinho, você e sua equipe é brilhante, parabéns mesmo! Obrigadão pela ajuda, que Deus abençoe você e toda a equipe! Abraço!

esaito commented 6 years ago

Obrigado!