Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline SharkManZ  
#1 Оставлено : 9 июня 2016 г. 10:48:00(UTC)
SharkManZ

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 5

Здравствуйте.
Возникла не совсем понятная ситуация с верификацией подписанного запроса в ГИС ЖКХ
Есть 2 запроса, одни подписан с использованием КриптоПро JCP v1.0, rel.1.0.54 и утилиты, указанной в методических рекомендациях ГИС ЖКХ( jcp.signed.xml (6kb) загружен 12 раз(а).)
И второй запрос, подписан с использованием openssl ( openssl.signed.xml (6kb) загружен 11 раз(а).)

Первый запрос проверку в ГИС ЖКХ не проходит с ошибкой
Код:

<ns4:ErrorCode>AUT011005</ns4:ErrorCode> 
  <ns4:Description>Ошибка формата подписи запроса</ns4:Description> 
  <ns4:StackTrace>ru.lanit.hcs.integration.common.exception.OperationProcessorException: Элемент c Id 'signed-data-container' не подписан at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignatureItself(ValidationServiceImpl.java:162) at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignature(ValidationServiceImpl.java:112) at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.process(OperationProcessorInvokerMDP.java:279) at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.internalOnMessage(OperationProcessorInvokerMDP.java:173) at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.onMessage(OperationProcessorInvokerMDP.java:85) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:699) at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:637) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:605) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:246) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1144) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1136) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1033) at java.lang.Thread.run(Thread.java:745) Caused by: ru.lanit.security.crypto.CryptoException: Элемент c Id 'signed-data-container' не подписан at ru.lanit.security.crypto.verifier.VerifierBean.verifyEnveloped(VerifierBean.java:253) at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterceptor.java:52) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.java:266) at org.jboss.as.ejb3.tx.CMTTxInterceptor.notSupported(CMTTxInterceptor.java:316) at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:240) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185) at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:332) at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$100(MethodInvocationMessageHandler.java:69) at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:202) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at org.jboss.threads.JBossThread.run(JBossThread.java:122) at ...asynchronous invocation...(Unknown Source) at org.jboss.ejb.client.remoting.InvocationExceptionResponseHandler$MethodInvocationExceptionResultProducer.getResult(InvocationExceptionResponseHandler.java:99) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:276) at ru.lanit.hcs.integration.security.client.LogInterceptor.handleInvocationResult(LogInterceptor.java:74) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290) at ru.lanit.hcs.integration.security.client.EjbSecurityClientInterceptor.handleInvocationResult(EjbSecurityClientInterceptor.java:57) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290) at org.jboss.ejb.client.EJBObjectInterceptor.handleInvocationResult(EJBObjectInterceptor.java:64) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290) at org.jboss.ejb.client.EJBHomeInterceptor.handleInvocationResult(EJBHomeInterceptor.java:88) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290) at org.jboss.ejb.client.TransactionInterceptor.handleInvocationResult(TransactionInterceptor.java:46) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290) at org.jboss.ejb.client.ReceiverInterceptor.handleInvocationResult(ReceiverInterceptor.java:129) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:265) at org.jboss.ejb.client.EJBClientInvocationContext.awaitResponse(EJBClientInvocationContext.java:453) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:204) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146) at com.sun.proxy.$Proxy1232.verifyEnveloped(Unknown Source) at sun.reflect.GeneratedMethodAccessor1004.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(RmiClientInterceptorUtils.java:71) at org.springframework.ejb.access.SimpleRemoteSlsbInvokerInterceptor.doInvoke(SimpleRemoteSlsbInvokerInterceptor.java:98) at org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor.invokeInContext(AbstractRemoteSlsbInvokerInterceptor.java:140) at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:189) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy1235.verifyEnveloped(Unknown Source) at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignatureItself(ValidationServiceImpl.java:140) ... 13 more</ns4:StackTrace> 
  </ns4:ErrorMessage>


А вот второй запрос в ГИС ЖКХ верифицируется и считается корректным. На первый взгляд эти запросы весьма идентичны.
Быть может вы подскажите в чем разница?
Offline Евгений Афанасьев  
#2 Оставлено : 9 июня 2016 г. 12:15:45(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Здравствуйте.
В обоих запросах элемент c Id 'signed-data-container' есть в SignedInfo?
P.S. Есть.
Визуально файлы идентичны.

Отредактировано пользователем 9 июня 2016 г. 12:28:41(UTC)  | Причина: Не указана

Offline SharkManZ  
#3 Оставлено : 9 июня 2016 г. 12:31:06(UTC)
SharkManZ

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 5

Вы имеете ввиду reference в SignedInfo ? если да то есть в обоих.

в первом запросе
Код:

<ds:Reference Id="xmldsig-958eb47e-2c2e-4240-a08b-8e15db62c3a7-ref0" URI="#signed-data-container">


во втором запросе
Код:

<ds:Reference Id="xmldsig-f8bef3b0-2e1a-11e6-b92b-005056c00008-ref0" URI="#signed-data-container">

Offline SharkManZ  
#4 Оставлено : 9 июня 2016 г. 12:39:08(UTC)
SharkManZ

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 5

Единственное на что пока падает подозрение это отличия в оформлении пустых тэгов (хотя каноникализация c14n в xades4j указывается)

в работающем запросе
Код:

<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>


в не работающем
Код:

<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>


Offline Евгений Афанасьев  
#5 Оставлено : 9 июня 2016 г. 13:21:36(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Попробуйте у xades4j включить логирование, думаю, оно есть.
Offline SharkManZ  
#6 Оставлено : 9 июня 2016 г. 15:23:12(UTC)
SharkManZ

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 5

К сожалению не вижу где бы там можно было его включить...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (3)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.