SOAP

psh

Новичок
Добрый день,

Столкнулся со следующей проблемой:
- Обращаюсь к вебсервису по CURL с сертификатом.
Но сервис требует чтобы сообщение было подписано.
Т.е. необходимо правильно сгенерировать <wsse : Binary Security Token> и <ds: SignatureValue>, а также соблюсти корректный синтаксис <wsse:Security> блока.
Ниже привожу <wsse:Security> блок с фиктивными <wsse : Binary Security Token> и <ds: SignatureValue>.

Вопрос: как сгенерировать валидные <wsse : Binary Security Token> и <ds: SignatureValue> для моего сертификата ?
Перерыл "весь" интернет так и не нашёл решения.

Уверен вы знаете. Подскажите.
Заранее спасибо.




<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<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="CertId-E9E1D71F5CA308026113261968112394"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

MIIFVjCCBD6gAwIBAgISESE7F8P4msUwAIAJhHuod4uYMA0GCSqGSIb3DQEBBQUAMF0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTMwMQYDVQQDEypHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIENBIC0gRzIwHhcNMTExMDE4MTMyMDAwWhcNMTQxMDE4MTMyMDAwWjCBkjELMAkGA1UEBhMCQkUxEDAOBgNVBAgTB0JyYWJhbnQxEDAOBgNVBAcTB0JydXNzZWwxGjAYBgNVBAsTEWRpc2NpbXVzLXRlc3QtaWlvMRkwFwYDVQQKExBWbGFhbXNlIG92ZXJoZWlkMSgwJgYDVQQDEx9kaXNjaW11cy10ZXN0LWlpby52bGFhbmRlcmVuLmJlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv6G0d28d6eF+aePhCPP7GH2SgX10dlYitB8vQ50rzMjBimfsjjqf1hXqYP+164VSk0ZbwrHtCYVlqphV7PoD3lFQ37q6bENnFdJaDfHYmizbmpjzQ3MeA+1qcsLtetVsN1fsPyO9Hxu80XENY9+xX3SME5bjqt5r4WfSJgXhi2hvPKcTCuLusNPYMfKDBjvu9IVbHhEjxBKbkhUZHdDjRBa2ZdtbRLvjzc7T7NLKFqtGEDylCI/aJH2enTYZmMOWf6GwSPRv0/yK2q6dumrVvE/Z9kozKp9UNLPR3R94VhNWGHIuUXYo5sNisjS6LN/Imbb9Ael3x2AExxNp62+ouwIDAQABo4IB2DCCAdQwDgYDVR0PAQH/BAQDAgWgMEwGA1UdIARFMEMwQQYJKwYBBAGgMgEUMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMCoGA1UdEQQjMCGCH2Rpc2NpbXVzLXRlc3QtaWlvLnZsYWFuZGVyZW4uYmUwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc29yZ2FuaXphdGlvbnZhbGcyLmNybDCBlgYIKwYBBQUHAQEEgYkwgYYwRwYIKwYBBQUHMAKGO2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzb3JnYW5pemF0aW9udmFsZzIuY3J0MDsGCCsGAQUFBzABhi9odHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20vZ3Nvcmdhbml6YXRpb252YWxnMjAdBgNVHQ4EFgQUX+9Ux1BxF6uCKdiTzD9kKhLULb4wHwYDVR0jBBgwFoAUXUayjcRLdBy77fVztjq3OI91nn4wDQYJKoZIhvcNAQEFBQADggEBANfVDazHr2efiKxiR/UNMN4Aa6CeQVvCMzDLlbNU7UYYoRhJGSn9nm9yf+/vxTJxfXOPPfn/2YiIAeK3tJpw8mqEbAFnsM9WZdMUVk9zmVABmV8jlCZ4eDpXVUn6S62B4U5aCDKy8S2d1OyLnYK9ZjvpjEmZbCDOBcr9U7rmQExu398V2Nmgc71HTjaQf/9cz8Yd8ZTV5OjFU05cS+KrxTi7uz0XRIXfoUveJuaOdq5dbDd1JIASReuA5dQH3v0XKHaZlKavF4Z2m88+OUXDWzhkmOJiOTqYgSNbHlVhv/AbEEs0sx7yBr/vG0txCa3Dq4NtIee4mMN/3f/89jKsP50=

</wsse:BinarySecurityToken>

<ds:Signature Id="Signature-3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-4">
<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#md5"/>
<ds:DigestValue>
1xk0PrXRf9r96+DCu2SRDw==
</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>

<ds:SignatureValue>
SEDZdGSCbarZuxF8E9hU9lgSnEMmwqdVfCzSeYYDM2wYlWa497SLwYYzSQWN6YqlvBOekuhaROL0
0sBbzRd7I3NFUN168yTCmItuARxBtxWz4kQOR1IooB4QFrYOmqGTcPu/eGMYEHSkj9ypSYYCA7GW
BafZzwksThKjIL/inqFNwci45vnxLzjzfqmVHb60v6sLMawQezGEKJ3D2Xv9KfZCI7gH5hwh6PO8
e2v5oVWhqX51AbP2C5naHrxpdQbgxoIxkr978JFkxYZmFg2m/QfEJp8VfXXKkMQ4wtJ3C35XIFHc
3UFyIsAKD+Y7ShsIfItIAZW50/sHMTh+gWC3Ow==
</ds:SignatureValue>

<ds:KeyInfo Id="KeyId-E9E1D71F5CA308026113261968112405">
<wsse:SecurityTokenReference
wsu:Id="STRId-E9E1D71F5CA308026113261968112406"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Reference
URI="#CertId-E9E1D71F5CA308026113261968112394"
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>
</soapenv:Header>

<soapenv:Body>
...........
 
Сверху