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
142 stars 73 forks source link

Validação de documento Assinado usando XADES #342

Closed dcorazza closed 1 year ago

dcorazza commented 2 years ago

Boa tarde. Baixei o truststore e instalei conforme instruções https://www.gov.br/iti/pt-br/assuntos/navegadores/java/versao-linux

Carreguei o truestore e consegui realizar a assinatura do documento Porém na validação tenho os seguintes erros: Chave criptográfica inválida Erro ao validar o resumo criptográfico da assinatura

Gostaria de uma orientação do que pode estar errado.

Segue codigo utilizado na geração

`String fileName = "xmlexemplo.xml";

        XMLSigner xmlSigner = new XMLSigner();
        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
        kpg.initialize(2048);
        KeyPair keyPair = kpg.generateKeyPair();
        PublicKey pub = keyPair.getPublic();
        PrivateKey prv = keyPair.getPrivate();
        ICPBrasilOnLineITIProviderCA ca = new ICPBrasilOnLineITIProviderCA();
        Collection<X509Certificate> cas = ca.getCAs();
        xmlSigner.setPrivateKey(prv);
        xmlSigner.setCertificateChain(cas.toArray(new X509Certificate[0]));
        xmlSigner.setPolicyId(XMLPoliciesOID.AD_RB_XADES_2_3.getOID());
        if (org.demoiselle.signer.core.keystore.loader.configuration.Configuration.getInstance().getSO().toLowerCase().indexOf("indows") > 0) {
            xmlSigner.setSignatureAlgorithm(Constants.SHA256withRSA);
        }
        CAManagerConfiguration config = CAManagerConfiguration.getInstance();
        //config.setCached(false);
        // indicando o local do arquivo XML
        Document doc = xmlSigner.signEnveloped(true, fileName);
        xmlSigner.saveSignedDocument(fileName.replaceFirst(".xml$", "_rb_signed.xml"));
esaito commented 2 years ago

Você precisa utilizar certificados emitidos por autoridades certificadoras credenciadas junto a ICP-Brasil.

dcorazza commented 2 years ago

Certo. Obrigado pelo retorno.

esaito commented 1 year ago

fechada por tempo de inatividade