Статус: Новичок
Группы: Участники
Зарегистрирован: 28.01.2016(UTC) Сообщений: 5
|
Отправляю ГИС следующий запрос (форматирование добавлено для удобства):
Код:<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">urn:exportNsiList</Action>
<h:RequestHeader xmlns="http://dom.gosuslugi.ru/schema/integration/8.5.0.2/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:h="http://dom.gosuslugi.ru/schema/integration/8.5.0.2/">
<Date>2016-01-29T12:04:45.0489095+03:00</Date>
<MessageGUID>63699cc5-xxxx-xxxx-xxxx-065bafdb7c3f</MessageGUID>
<SenderID>f4260cb4-xxxx-xxxx-xxxx-f23c9cfb6bfa</SenderID>
</h:RequestHeader>
</s:Header>
<s:Body>
<exportNsiListRequest Id="signed-data-container" xmlns="http://dom.gosuslugi.ru/schema/integration/8.5.0.2/nsi/">
<ds:Signature Id="SignatureId" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" />
<ds:Reference URI="#signed-data-container">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue>AeEje3MJaCmJxRb7XKznbZbvOn5VMx6sSc0EpcY4xyM=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#SignedPropertiesId" Type="http://uri.etsi.org/01903#SignedProperties">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue>9bzsA5OWwld3XvLx+HowBhoK6HaVtgh6G2TXtp4gqjQ=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>tyJGf30O0u6z6EueYP94rhI1bPycV1Y4RaR41mdsFQjf+cA6drzWbvHtIM95Px2kec2HuDxaPww/qw/WVvw2aQ==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>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</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object Id="XadesObject">
<xades:QualifyingProperties Target="#SignatureId" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
<xades:SignedProperties Id="SignedPropertiesId">
<xades:SignedSignatureProperties>
<xades:SigningTime>2016-01-29T12:04:45.426+03:00</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue>YYTTYbGJuiRVAib6V96UtsyzoAsgiMpGXh3SL78dLSU=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>CN="Тестовый УЦ ООО ""КРИПТО-ПРО""", O="ООО ""КРИПТО-ПРО""", C=RU, 1.2.840.113549.1.9.1=info@cryptopro.ru, L=Москва, 2.5.4.8=77 г. Москва, STREET="ул. Сущёвский вал, д. 18", 1.2.643.3.131.1.1=007717107991, 1.2.643.100.1=1037700085444</ds:X509IssuerName>
<ds:X509SerialNumber>153727213160741235511671</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
</exportNsiListRequest>
</s:Body>
</s:Envelope>
В ответ приходит ошибка: Код:<ns4:ErrorCode>AUT011005</ns4:ErrorCode>
<ns4:Description>Ошибка формата подписи запроса</ns4:Description>
<ns4:StackTrace>ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: Cannot find any certificates referenced by xades:SigningCertificate
Полный ответ ГИС:
Код:<soap:Envelope xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:ns4="http://dom.gosuslugi.ru/schema/integration/8.5.0.2/" xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/8.5.0.2/nsi/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ns4:ResultHeader>
<ns4:Date>2016-01-29T09:33:45.706+03:00</ns4:Date>
<ns4:MessageGUID>f4260cb4-ecbb-412c-8c20-f23c9cfb6b12</ns4:MessageGUID>
</ns4:ResultHeader>
</soap:Header>
<soap:Body>
<ns5:exportNsiListResult Id="signed-data-container">
<ds:Signature Id="xmldsig-4fb39dc5-95f3-4160-83fa-b0ce0a1b9efb" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" />
<ds:Reference URI="#signed-data-container">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue>urPVpDYYRbhO1xoV1yLTWwtgA6Gnxu7jYRSn75a/s+Q=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-4fb39dc5-95f3-4160-83fa-b0ce0a1b9efb-signedprops">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue>rXNyaygt4oJQ8ero0TVm696yJam6c2tlSodi5VujvQQ=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>YgvId2Z5qyTpuoD2WW/Aj2i2LUGw1Hj29aYvR1PymbSdgb02m9jdyE03833O6XEAjmcAJ0GuN51Z8lzZaRRtJA==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIIDIjCCAtGgAwIBAgITEgAMglWOkzVUY2/+3wAAAAyCVTAIBgYqhQMCAgMwfzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoTDkNSWVBUTy1QUk8gTExDMSEwHwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDIwHhcNMTYwMTExMTAyMzA5WhcNMTYwNDExMTAzMzA5WjAxMRIwEAYDVQQDDAlURVNUIFNJR04xDjAMBgNVBAoMBUxBTklUMQswCQYDVQQGEwJSVTBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcqhQMCAh4BA0MABEBh+VNFkZbnClvrdixds8luo1CcfhXo6gPK9Vqt+7rQEq4ycAHhKF8xgzTVyiL8LV2iEFpbYcRgge2aIo+163Sgo4IBcDCCAWwwDgYDVR0PAQH/BAQDAgTwMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBSGfu/Zkh87Uns88uyC1i3szSfQYDAfBgNVHSMEGDAWgBQVMXywjRreZtcVnElSlxckuQF6gzBZBgNVHR8EUjBQME6gTKBKhkhodHRwOi8vdGVzdGNhLmNyeXB0b3Byby5ydS9DZXJ0RW5yb2xsL0NSWVBUTy1QUk8lMjBUZXN0JTIwQ2VudGVyJTIwMi5jcmwwgakGCCsGAQUFBwEBBIGcMIGZMGEGCCsGAQUFBzAChlVodHRwOi8vdGVzdGNhLmNyeXB0b3Byby5ydS9DZXJ0RW5yb2xsL3Rlc3QtY2EtMjAxNF9DUllQVE8tUFJPJTIwVGVzdCUyMENlbnRlciUyMDIuY3J0MDQGCCsGAQUFBzABhihodHRwOi8vdGVzdGNhLmNyeXB0b3Byby5ydS9vY3NwL29jc3Auc3JmMAgGBiqFAwICAwNBAJHT/j7ccAFSFDkYGwuGpdy9mbcjUURi/skZ0Rj11Lui2nAB0MP9y0kQA5xpZRFLpSoTHWN2PsYtiiVIEovP2WI=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<xades:QualifyingProperties Target="#xmldsig-4fb39dc5-95f3-4160-83fa-b0ce0a1b9efb" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
<xades:SignedProperties Id="xmldsig-4fb39dc5-95f3-4160-83fa-b0ce0a1b9efb-signedprops">
<xades:SignedSignatureProperties>
<xades:SigningTime>2016-01-29T09:32:59.096+03:00</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue>usyLQnDXbJAOMnSVW3mTn8NS/lK2Uj9WFJ+Ziv+mAog=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>cn=CRYPTO-PRO Test Center 2,o=CRYPTO-PRO LLC,l=Moscow,c=RU,1.2.840.113549.1.9.1=support@cryptopro.ru</ds:X509IssuerName>
<ds:X509SerialNumber>401417670205830718032061318995508048564093525</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
<ns4:ErrorMessage>
<ns4:ErrorCode>AUT011005</ns4:ErrorCode>
<ns4:Description>Ошибка формата подписи запроса</ns4:Description>
<ns4:StackTrace>ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: Cannot find any certificates referenced by xades:SigningCertificate
at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignatureItself(ValidationServiceImpl.java:160)
at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignature(ValidationServiceImpl.java:110)
at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.process(OperationProcessorInvokerMDP.java:277)
at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.internalOnMessage(OperationProcessorInvokerMDP.java:174)
at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.onMessage(OperationProcessorInvokerMDP.java:93)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:685)
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:623)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:591)
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:1142)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1134)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1031)
at java.lang.Thread.run(Thread.java:745)
Caused by: ru.lanit.security.crypto.CryptoException: ЭП не прошла проверку: Cannot find any certificates referenced by xades:SigningCertificate
at ru.lanit.security.crypto.verifier.VerifierBean.verifyEnveloped(VerifierBean.java:277)
at sun.reflect.GeneratedMethodAccessor21.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.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
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:58)
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:58)
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.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
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.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.java:259)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.notSupported(CMTTxInterceptor.java:323)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:236)
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.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:165)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:329)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$100(MethodInvocationMessageHandler.java:70)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:203)
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.$Proxy860.verifyEnveloped(Unknown Source)
at sun.reflect.GeneratedMethodAccessor716.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.$Proxy865.verifyEnveloped(Unknown Source)
at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignatureItself(ValidationServiceImpl.java:138)
... 13 more
</ns4:StackTrace>
</ns4:ErrorMessage>
</ns5:exportNsiListResult>
</soap:Body>
</soap:Envelope>
Если я правильно понимаю, ГИС не может соотнести сертификат из <ds:X509Certificate> с данными о нем в <xades:SigningCertificate>. При этом из всех значений в <xades:SigningCertificate> вопрос вызывает только <ds:X509IssuerName> (есть другой сертификат, на котором данная ошибка не воспроизводится, алгоритм формирования xades-объекта одинаков). Для генерации использован форк библиотеки Xades. Вопрос: как корректно сформировать IssuerName? Возможно, предположение относительно него ошибочно, тогда в чем может быть дело?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.01.2016(UTC) Сообщений: 5
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,391 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 715 раз в 620 постах
|
А Вы уверены, что ГИС доверяет сертификату нашего тестового УЦ? Попроситесь в тестовый контур и получите тестовый сертификат. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.01.2016(UTC) Сообщений: 5
|
Автор: maxdm А Вы уверены, что ГИС доверяет сертификату нашего тестового УЦ? Попроситесь в тестовый контур и получите тестовый сертификат. Есть и доступ, и сертификат. На тестовом контуре подходят любые сертификаты с шифрованием по ГОСТ. Да и в методических рекомендациях отсылки к самостоятельной регистрации. На транспортном уровне соединение устанавливается, HTTPS по ГОСТ работает.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.01.2016(UTC) Сообщений: 5
|
Действительно, IssuerName. Экранирование в C# происходит не так, как ожидает веб-сервис ГИСа на Java.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.02.2016(UTC) Сообщений: 3 Откуда: Belgorod
|
Автор: SedovJT Действительно, IssuerName. Экранирование в C# происходит не так, как ожидает веб-сервис ГИСа на Java. Можете ответить по подробнее?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.01.2016(UTC) Сообщений: 5
|
IssuerName.Name в С# выдает следующую строку: Код:CN="Тестовый УЦ ООО ""КРИПТО-ПРО""", O="ООО ""КРИПТО-ПРО""", C=RU
Java ждала строку следующего вида: Код:CN=Тестовый УЦ ООО \"КРИПТО-ПРО\",O=ООО \"КРИПТО-ПРО\",C=RU
Кто из них прав - судить не берусь, но Java не поняла экранирование из варианта №1.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.10.2015(UTC) Сообщений: 29
Поблагодарили: 4 раз в 4 постах
|
Используйте BouncyCastle и будет вам экранирование. В ГИС они эту библиотеку используют. Благо она есть и на .NET и на JAVA. > Для генерации использован форк библиотеки Xades. Я ее обновил на днях. Там BouncyCastle используется. Отредактировано пользователем 3 февраля 2016 г. 23:11:10(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил springjazzy за этот пост.
|
V_VP оставлено 04.03.2016(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.03.2016(UTC) Сообщений: 3 Откуда: СПБ Сказал(а) «Спасибо»: 3 раз
|
Автор: springjazzy Используйте BouncyCastle и будет вам экранирование. В ГИС они эту библиотеку используют. Благо она есть и на .NET и на JAVA. > Для генерации использован форк библиотеки Xades. Я ее обновил на днях. Там BouncyCastle используется. Подскажите, я скачал исходники с GIT но они при компиляции просят еще cryptopro библиотеки, как я понимаю подразумевается что комплект разработчика .NET Крипто Про я должен купить отдельно и эти же библиотеки должны быт установлены на серверах тех кто будет использовать скомпилированную библиотеку? Или достаточно купить для разработки а клиентам ставить не нужно? К сожалению с C# знаком очень плохо и плохо понимаю взаимосвязь библиотек... Вообще передо мной стоит задача подписывать XML файлы (ответы SOAP) из 1С пока вот единственный вариант это использовать вашу библиотеку как внешнюю компоненту. Если я правильно понял то в целом библиотека использует: - BouncyCastle.Crypto.dll
Newtonsoft.Json.dll interoperabilite_xades cryptopro.dll И ваши наработки в виде хелперов: GisSignatureHelper.cs XadesInfo.cs
Если Вам не сложно не могли бы Вы хотя бы в общих чертах рассказать о том какая библиотека и для чего используется?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.10.2015(UTC) Сообщений: 29
Поблагодарили: 4 раз в 4 постах
|
Автор: V_VP Автор: springjazzy Используйте BouncyCastle и будет вам экранирование. В ГИС они эту библиотеку используют. Благо она есть и на .NET и на JAVA. > Для генерации использован форк библиотеки Xades. Я ее обновил на днях. Там BouncyCastle используется. Подскажите, я скачал исходники с GIT но они при компиляции просят еще cryptopro библиотеки, как я понимаю подразумевается что комплект разработчика .NET Крипто Про я должен купить отдельно и эти же библиотеки должны быт установлены на серверах тех кто будет использовать скомпилированную библиотеку? Или достаточно купить для разработки а клиентам ставить не нужно? К сожалению с C# знаком очень плохо и плохо понимаю взаимосвязь библиотек... Вообще передо мной стоит задача подписывать XML файлы (ответы SOAP) из 1С пока вот единственный вариант это использовать вашу библиотеку как внешнюю компоненту. Если я правильно понял то в целом библиотека использует: - BouncyCastle.Crypto.dll
Newtonsoft.Json.dll interoperabilite_xades cryptopro.dll И ваши наработки в виде хелперов: GisSignatureHelper.cs XadesInfo.cs
Если Вам не сложно не могли бы Вы хотя бы в общих чертах рассказать о том какая библиотека и для чего используется? BouncyCastle - open source библиотека для работы с криптографией. Нас в ней интересует функционал по экранированию наименования издателя и получению серийного номера в виде десятичного числа Newtonsoft.Json - open source библиотека для работы с форматом json. Используется как пример реализации взаимодействия клиента и сервера. interoperabilite_xades - не знаю, что это. У меня не используется. CryptoPro.Sharpei - библиотека компании этого форума. Предоставляет API для работы с CryptoPro.CSP для .NET. Поднимает SSL/TLS канал, предоставляет доступ к криптографическим операциям. http://cryptopro.ru/products/netДля работы Crypto.NET необходим CryptoPro.CSP. >Вообще передо мной стоит задача подписывать XML файлы (ответы SOAP) из 1С пока вот единственный вариант это использовать вашу библиотеку как внешнюю компоненту. Не совсем понятно какой сценарий вы рассматриваете? 1. Клиент-серверный. Сервер генерирует сообщение - клиент подписывает хеши удаленно, например, через браузер. Данный вариант рассмотрен в TestIntegrationClientServer.cs. В таком случае под клиента необходимо разработать js-скрипт, который бы подписывал хеш сообщения и отправлял его на сервер вместе с сертификатом. Можно использовать CryptoPro.CSP. У него есть интеграция с браузером через плагин http://cryptopro.ru/products/cades/plugin.2. Вы отправляете данные клиенту, и он подписывает их у себя через ПО установленное локально? Данный вариант теоретически возможен при помощи https://github.com/springjazzy/Xades, но я его не рассматривал т.к. он очень неэффективный. Во-первых, клиенту необходимо устанавливать Crypto.NET, что привязывает клиента к определенной ОС (100% он на Mono не запустится). Во-вторых, Crypto.Net платный, а т.к. он используется в решении то его необходимо устанавливать клиенту. В-третьих, теряется интерактивность. Если уж хотите подписывать локально, то можно попробовать собрать решение вокруг OpenSSL. А вообще я понял нужен readme к проекту.. Отредактировано пользователем 5 марта 2016 г. 23:37:47(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил springjazzy за этот пост.
|
V_VP оставлено 07.03.2016(UTC)
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close