Статус: Активный участник
Группы: Участники
Зарегистрирован: 15.05.2019(UTC) Сообщений: 33
|
есть java 1.8.0_211 jcp-2.0.40035 в jre/lib/ext скопированы все dependencies из jcp-2.0.40035 а также Код:<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.6.19</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc-api</artifactId>
<version>1.1</version>
</dependency>
в crypto.properties Код:org.apache.ws.security.crypto.provider=ru.ksbsoft.client.gis.wss4j1_6.crypto.MerlinEx
org.apache.ws.security.crypto.merlin.keystore.type=HDImageStore
org.apache.ws.security.crypto.merlin.keystore.password=pass123
org.apache.ws.security.crypto.merlin.keystore.alias=client
org.apache.ws.security.crypto.merlin.keystore.file =c:\\keystore
org.apache.ws.security.crypto.merlin.truststore.type=HDImageStore
org.apache.ws.security.crypto.merlin.truststore.password=pass123
org.apache.ws.security.crypto.merlin.truststore.file =c:\\trust.store
закоментировал Код:// if(!JCPXMLDSigInit.isInitialized())
// JCPXMLDSigInit.init();
вызываю Код:SpecUtility.initJCP()
val manager = SOAPXMLSignatureManager_1_6(SpecUtility.DEFAULT_CRYPTO_PROPERTIES, SpecUtility.DEFAULT_ALIAS, SpecUtility.DEFAULT_PASSWORD)
val signedDoc = manager.signDoc(manager.getMessage())
получаю ошибку java.lang.ClassNotFoundException: org.apache.xml.security.c14n.InvalidCanonicalizerExceptionКод:java.lang.ClassNotFoundException: org.apache.xml.security.c14n.InvalidCanonicalizerException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_211]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_211]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_211]
at java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:1.8.0_211]
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[na:1.8.0_211]
at java.lang.Class.getConstructor0(Class.java:3075) ~[na:1.8.0_211]
at java.lang.Class.getConstructor(Class.java:1825) ~[na:1.8.0_211]
at java.security.Provider$Service.newInstance(Provider.java:1594) ~[na:1.8.0_211]
at sun.security.jca.GetInstance.getInstance(GetInstance.java:236) ~[na:1.8.0_211]
at javax.xml.crypto.dsig.TransformService.getInstance(TransformService.java:215) ~[na:1.8.0_211]
at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignatureFactory.newCanonicalizationMethod(DOMXMLSignatureFactory.java:312) ~[XMLDSigRI.jar:40035]
at org.apache.ws.security.message.WSSecSignature.prepare(WSSecSignature.java:179) ~[wss4j-1.6.19.jar:1.6.19]
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:366) ~[wss4j-1.6.19.jar:1.6.19]
at ru.ksbsoft.client.gis.wss4j1_6.manager.SOAPXMLSignatureManager_1_6.signDoc(SOAPXMLSignatureManager_1_6.java:138) ~[classes/:na]
at ru.ksbsoft.client.gis.GisServiceAdapter.signElement(GisServiceAdapter.kt:53) ~[classes/:na]
at ru.ksbsoft.client.gis.GisServiceAdapter$wsCallback$1.doWithMessage(GisServiceAdapter.kt:72) ~[classes/:na]
at org.springframework.ws.client.core.WebServiceTemplate$2.doWithMessage(WebServiceTemplate.java:401) ~[spring-ws-core-3.0.7.RELEASE.jar:na]
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:590) ~[spring-ws-core-3.0.7.RELEASE.jar:na]
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:555) ~[spring-ws-core-3.0.7.RELEASE.jar:na]
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:390) ~[spring-ws-core-3.0.7.RELEASE.jar:na]
at ru.ksbsoft.client.gis.GisServiceAdapter.exportInspectionPlans(GisServiceAdapter.kt:83) ~[classes/:na]
at ru.ksbsoft.client.gis.GisController.exportInspectionPlans(GisController.kt:18) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_211]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_211]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_211]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_211]
Что я еще забыл добавить?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 15.05.2019(UTC) Сообщений: 33
|
выделил все в одну функцию Код:fun signElement() {
com.sun.org.apache.xml.internal.security.Init.init()
val provCryptoProRI = ru.CryptoPro.JCPxml.dsig.internal.dom.XMLDSigRI()
Security.addProvider(provCryptoProRI)
Security.getProvider("XMLDSig")["XMLSignatureFactory.DOM"] = "ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignatureFactory"
Security.getProvider("XMLDSig")["KeyInfoFactory.DOM"] = "ru.CryptoPro.JCPxml.dsig.internal.dom.DOMKeyInfoFactory"
val props = Properties()
props.load(FileInputStream(System.getProperty("user.dir") + "/client/src/main/resources/crypto.properties"))
val keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME)
keyStore.load(null, null)
val merlin = MerlinEx()
merlin.keyStore = keyStore
val crypto: Crypto = merlin
val docStr = (
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<SOAP-ENV:Envelope "
+ "xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
+ "<SOAP-ENV:Body>"
+ "<add xmlns=\"http://ws.apache.org/counter/counter_port_type\">"
+ "<value xmlns=\"\">15</value>"
+ "</add>"
+ "</SOAP-ENV:Body>"
+ "</SOAP-ENV:Envelope>")
val unsignedEnvelope = getSOAPEnvelopeFromString(docStr)
val sourceDoc = unsignedEnvelope.getAsDocument()
WSSConfig.setAddJceProviders(false)
val config = WSSConfig()
config.setWsiBSPCompliant(false)
val sign = WSSecSignature()
sign.setWsConfig(config)
sign.setUserInfo("client", "pass123")
sign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE)
sign.setSignatureAlgorithm(ru.CryptoPro.JCPxml.Consts.URI_GOST_SIGN)
sign.setDigestAlgo(ru.CryptoPro.JCPxml.Consts.URI_GOST_DIGEST)
val secHeader = WSSecHeader()
secHeader.setActor("http://smev.gosuslugi.ru/actors/smev")
secHeader.setMustUnderstand(true)
secHeader.insertSecurityHeader(sourceDoc)
sign.build(sourceDoc, crypto, secHeader)
}
такая же ошибка
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 15.05.2019(UTC) Сообщений: 33
|
получилось подписать нужно добавить Код:if(!JCPXMLDSigInit.isInitialized())
JCPXMLDSigInit.init();
мне нужно информацию о подписи добавлять не в header а в body сейчас xml выглядит вот так Код:<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
SOAP-ENV:actor="http://smev.gosuslugi.ru/actors/smev" SOAP-ENV:mustUnderstand="1">
<wsse:BinarySecurityToken
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="X509-59B1905774A350E4F615589389407916">
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
</wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-59B1905774A350E4F6155893894107910">
<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="#id-59B1905774A350E4F615589389407919">
<ds:Transforms>
<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>nJX32NsqZ8tUQhPUfbQ4eCRWka3QiKt+iW1BVnU6sp8=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>caOAyMsvdHLlLHmYNT+P99lTO1yjYVhY/ubGVzRjsAlzHD8v0a5GgnW9sk0Q2MaY6k79MQw1YYTO
26nVl7u3oA==
</ds:SignatureValue>
<ds:KeyInfo Id="KI-59B1905774A350E4F615589389407917">
<wsse:SecurityTokenReference wsu:Id="STR-59B1905774A350E4F615589389407918"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Reference URI="#X509-59B1905774A350E4F615589389407916"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
<ns5:RequestHeader xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/base/"
xmlns:ns10="http://dom.gosuslugi.ru/schema/integration/inspection/"
xmlns:ns11="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/"
xmlns:ns12="http://dom.gosuslugi.ru/schema/integration/nsi-base/"
xmlns:ns13="http://dom.gosuslugi.ru/schema/integration/individual-registry-base/"
xmlns:ns14="http://dom.gosuslugi.ru/schema/integration/metering-device-base/"
xmlns:ns15="http://www.uefa.com/uefaeuro/season=2016/teams" xmlns:ns2="http://tempuri.org/"
xmlns:ns3="http://thomas-bayer.com/blz/" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#"
xmlns:ns6="http://dom.gosuslugi.ru/schema/integration/payments-base/"
xmlns:ns7="http://dom.gosuslugi.ru/schema/integration/account-base/"
xmlns:ns8="http://dom.gosuslugi.ru/schema/integration/organizations-base/"
xmlns:ns9="http://dom.gosuslugi.ru/schema/integration/bills-base/">
<ns5:Date>2019-05-27T00:00:00.000+03:00</ns5:Date>
<ns5:MessageGUID>4fdfbf3e-5f61-4931-b397-f1baa91ca75e</ns5:MessageGUID>
<ns5:SenderID>111</ns5:SenderID>
</ns5:RequestHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="id-59B1905774A350E4F615589389407919">
<ns10:exportInspectionPlansRequest xmlns:ns10="http://dom.gosuslugi.ru/schema/integration/inspection/"
xmlns:ns11="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/"
xmlns:ns12="http://dom.gosuslugi.ru/schema/integration/nsi-base/"
xmlns:ns13="http://dom.gosuslugi.ru/schema/integration/individual-registry-base/"
xmlns:ns14="http://dom.gosuslugi.ru/schema/integration/metering-device-base/"
xmlns:ns15="http://www.uefa.com/uefaeuro/season=2016/teams"
xmlns:ns2="http://tempuri.org/" xmlns:ns3="http://thomas-bayer.com/blz/"
xmlns:ns4="http://www.w3.org/2000/09/xmldsig#"
xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/base/"
xmlns:ns6="http://dom.gosuslugi.ru/schema/integration/payments-base/"
xmlns:ns7="http://dom.gosuslugi.ru/schema/integration/account-base/"
xmlns:ns8="http://dom.gosuslugi.ru/schema/integration/organizations-base/"
xmlns:ns9="http://dom.gosuslugi.ru/schema/integration/bills-base/">
<ns10:YearFrom>20018</ns10:YearFrom>
</ns10:exportInspectionPlansRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
А мне нужно чтобы было в doby Код:<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:RequestHeader xmlns="http://dom.gosuslugi.ru/schema/integration/8.5.0.4/" xmlns:h="http://dom.gosuslugi.ru/schema/integration/8.5.0.4/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- Заголовок, содержащий информацию о поставщике данных и сообщении-->
<Date>2016-01-29T09:29:29.5033083+03:00</Date>
<MessageGUID>${=java.util.UUID.randomUUID()}</MessageGUID>
<orgPPAGUID>a013da6b-fd11-4b20-8903-dbbcb22ff221</orgPPAGUID>
</h:RequestHeader>
</s:Header>
<s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<exportNsiListRequest Id="foo" xmlns="http://dom.gosuslugi.ru/schema/integration/8.5.0.4/nsi/">
<!--Элемент, описывающий бизнес-данные-->
<ds:Signature Id="xmldsig-0f4efe13-1ee4-42a3-b139-25ae3bb6d371" 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 Id="xmldsig-0f4efe13-1ee4-42a3-b139-25ae3bb6d371-ref0" URI="#foo">
<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>eXgrWAI4XI/2EHUUP2AhVs8ZL8cNLrqinerk1VifrXE=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-0f4efe13-1ee4-42a3-b139-25ae3bb6d371-signedprops">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>
<ds:DigestValue>9qsLyxEb4yINDtg95mtcpkdA/wWfKpu/31TmngJyftI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue Id="xmldsig-0f4efe13-1ee4-42a3-b139-25ae3bb6d371-sigvalue">vELE7F7yTzaEBbL6G23MaDah6JpzhhG3Z6ewmDoA43qF1mgSD0R8E5tBs0QC+2Xj/sBX5C7Vuv62/bdB+h30Pw==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>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</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<xades:QualifyingProperties Target="#xmldsig-0f4efe13-1ee4-42a3-b139-25ae3bb6d371" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#">
<xades:SignedProperties Id="xmldsig-0f4efe13-1ee4-42a3-b139-25ae3bb6d371-signedprops">
<xades:SignedSignatureProperties>
<xades:SigningTime>2016-01-29T11:13:09.463+03:00</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>
<ds:DigestValue>M8uYaICuJUdeZjeUt6nkyMkb7VTLI4XS7POZy7hvJ/A=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>cn=Тестовый УЦ ООО \"КРИПТО-ПРО\",o=ООО \"КРИПТО-ПРО\",c=RU,1.2.840.113549.1.9.1=info@cryptopro.ru,l=Москва,st=77 г. Москва,street=ул. Сущёвский вал\, д. 18,1.2.643.3.131.1.1=007717107991,1.2.643.100.1=1037700085444</ds:X509IssuerName>
<ds:X509SerialNumber>125454072096946416439628</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
</exportNsiListRequest>
</s:Body>
</s:Envelope>
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Цитата:мне нужно информацию о подписи добавлять не в header а в body Похоже используете не тот класс. Подпись полученная соответствует стандарту xmldsig с оберткой wsse:Security (например, для СМЭВ 2) отсоединенная подпись без xades расширений, а нужна enveloped без обертки wsse:Security, но с расширением xades (похоже для гис жкх). Если не ошибаюсь для обертки wsse:Security не предусмотрено другого положения кроме как в Header, поэтому скорее всего перенести в Body будет проблематично. В подписании на Джаве я не эксперт, но по названию классов WSSecHeader() WSSecSignature() догадываюсь, что классы именно для обертки wsse:Security. Поэтому наверно надо взять другой класс, с поддержкой xades.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close