Problema
Validação da mensagem falhou: java.io.IOException: Integrity check failed – Como resolver?
Quando for configurado Certificado Digital A1 no Oobj DFe Client e a senha configurada estiver incorreta, haverá falha na emissão dos DF-es, pois não será possível acessar o Certificado Digital. Nos logs dos Serviço Oobj DF-e Client (C:\Oobj\Aplicativos\Oobj\motor-periferico-std\logs\wrapper-motor-periferico-std.log) será mostrado o erro abaixo:
2003 10:13:11,160 [Thread-26] DEBUG AssinadorME - Assinando com certificado: br.com.oobj.util.DadosCertCliente@1ba61d5[keystorePath=C:\Oobj\Certificados\Oobj-2017.pfx,keystoreType=PKCS12,keyAlias=<null>,keySlot=<null>,keystoreDll=<null>] 2003 10:13:11,388 [Thread-26] DEBUG CstatImpl - Pré inicialização de Cstats.... OK! 2003 10:13:11,471 [Thread-26] WARN troleMotorPeriferico - Validacao da mensagem falhou: java.io.IOException: Integrity check failed: java.security.UnrecoverableKeyException: Failed PKCS12 integrity checking br.com.oobj.me.recepcao.exception.UnexpectedConversaoException: java.io.IOException: Integrity check failed: java.security.UnrecoverableKeyException: Failed PKCS12 integrity checking at br.com.oobj.me.util.AssinadorME.assinarLote(AssinadorME.java:82) at br.com.oobj.me.controle.ConversorLoteWrapper.converter(ConversorLoteWrapper.java:51) at br.com.oobj.me.controle.ControleMotorPeriferico.internalizar(ControleMotorPeriferico.java:266) at br.com.oobj.me.controle.ControleMotorPeriferico.internalizarMensagemCrua(ControleMotorPeriferico.java:201) at br.com.oobj.me.internalizacao.DelegaControleProcessadorCallback.processar(DelegaControleProcessadorCallback.java:80) at gov.sefaz.util.pdes.ProcessadorDiretorioEntradaSaidaDaemon.processar(ProcessadorDiretorioEntradaSaidaDaemon.java:783) at gov.sefaz.util.pdes.ProcessadorDiretorioEntradaSaidaDaemon.varrerDiretorioUsingStrategy(ProcessadorDiretorioEntradaSaidaDaemon.java:731) at gov.sefaz.util.pdes.ProcessadorDiretorioEntradaSaidaDaemon.run(ProcessadorDiretorioEntradaSaidaDaemon.java:554) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: Integrity check failed: java.security.UnrecoverableKeyException: Failed PKCS12 integrity checking at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2058) at java.security.KeyStore.load(KeyStore.java:1445) at br.com.oobj.util.AssinaturaXML.initCert(AssinaturaXML.java:282) at br.com.oobj.util.AssinaturaXML.initCert(AssinaturaXML.java:267) at br.com.oobj.util.AssinaturaXML.initKeyStore(AssinaturaXML.java:165) at br.com.oobj.util.AssinaturaXML.<init>(AssinaturaXML.java:148) at br.com.oobj.dfe.util.AssinaturaME.<init>(AssinaturaME.java:171) at br.com.oobj.dfe.util.AssinaturaME.<init>(AssinaturaME.java:119) at br.com.oobj.nfe.util.AssinaturaNFE.<init>(AssinaturaNFE.java:19) at br.com.oobj.dfe.util.AssinaturaME.getInstance(AssinaturaME.java:108) at br.com.oobj.me.util.AssinadorME.assinarLote(AssinadorME.java:74) ... 8 more Caused by: java.security.UnrecoverableKeyException: Failed PKCS12 integrity checking at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2054) ... 18 more
Solução/Procedimento
Para corrigir o problema, veja os passos a seguir:
1 – Abra o DFe Client, a partir do Ícone em sua Área de Trabalho:
2 – Clique no ícone , conforme imagem abaixo para editar as configurações da empresa e alterar a Senha do Certificado A1:
3 – Clique na Aba Certificado Digital, corrija a Senha do Certificado:
4 – Clique em Confirmar para salvar a nova configuração.
5 – Pode-se fechar o DFe Client após ter corrigido a Senha do Certificado A1 e reenviar seu DF-e para reprocessamento.
Referência
Sem referências.