GovernIB / helium

Gestor d'expedients administratius
7 stars 3 forks source link

Revisar per què apareix l'error de validació de firma al ArxiuPluginCaib #1427

Closed josepg-limit closed 3 years ago

josepg-limit commented 3 years ago

S'ha reportat que sovint als usuaris els hi apareix el següent missatge d'error: es.caib.plugins.arxiu.api.ArxiuValidacioException: Error de validació: El document de l'arxiu ja està firmat i el tipus de firma especificat (TF06) no coicideix amb l'existent a l'arxiu (TF01)

La traça completa de l'error és la següent: es.caib.plugins.arxiu.api.ArxiuValidacioException: Error de validació: El document de l'arxiu ja està firmat i el tipus de firma especificat (TF06) no coicideix amb l'existent a l'arxiu (TF01) at es.caib.plugins.arxiu.caib.ArxiuPluginCaib.comprovarFirma(ArxiuPluginCaib.java:1532) at es.caib.plugins.arxiu.caib.ArxiuPluginCaib.documentModificar(ArxiuPluginCaib.java:638) at net.conselldemallorca.helium.core.helper.PluginHelper.arxiuDocumentGuardarPdfFirmat(PluginHelper.java:2489) at net.conselldemallorca.helium.core.helper.DocumentHelperV3.guardarDocumentFirmat(DocumentHelperV3.java:1573) at net.conselldemallorca.helium.core.helperv26.DocumentHelper.guardarDocumentFirmat(DocumentHelper.java:491) at net.conselldemallorca.helium.core.model.service.PluginService.afegirDocumentCustodia(PluginService.java:502) at net.conselldemallorca.helium.core.model.service.PluginService.processarDocumentPendentPortasignatures(PluginService.java:411) at net.conselldemallorca.helium.core.model.service.PluginService.processarDocumentPendentPortasignatures(PluginService.java:270) at net.conselldemallorca.helium.core.model.service.PluginService$$FastClassBySpringCGLIB$$b920559c.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:700) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:633) at net.conselldemallorca.helium.core.model.service.PluginService$$EnhancerBySpringCGLIB$$55bbf2e5.processarDocumentPendentPortasignatures() at net.conselldemallorca.helium.webapp.v3.controller.ExpedientDocumentController.documentPsignaReintentar(ExpedientDocumentController.java:836)

josepg-limit commented 3 years ago

Es comprova que l'error el llença el plugin d'Arxiu CAIB i es tanca la issue. S'ha de continuar vigilant quan es torni a donar el cas. S'aprofita per actualitzar la versió del plugin d'Arxiu.

josepg-limit commented 3 years ago

Es reporta que l'error es dona de forma molt freqüent, es reobre la issue i es puja la prioritat.

santich-dgtic commented 3 years ago

Si ho voleu mirar, diria que aquest error es dona perquè s'omplen els camps del plugin d'arxiu erròniament, ja que s'ha d'omplir un o altre segons si el tipus de firma es attached o dettached. Es a dir, si és un document signat (PADES) a l'arxiu, el document signat s'ha d'instertar dins l'apartat "firmes" del Document, mentre que DocumentContingut s'ha de deixar a null. Si és una firma "detached" (CADES o XADES), dins DocumentContingut es posa l'array de bytes del document original i dins les firmes del Document es posen els arrays de bytes que corresponen a les firmes. A RIPEA tenim el mateix problema (issue #761 de ripea)...

josepg-limit commented 3 years ago

Gràcies pel comentari. L'error en el cas d'Helium és per errors posteriors o per timeout amb l'Arxiu després de guardar el PDF com a definitiu que feien que a Helium el document continués com a esborrany.