В настоящее время я подписываю XML ссылкой на двоичный токен безопасности: (РАЗДЕЛ 3.3.2 - http://xml.coverpages.org/WSS-X509TokenProfile-20040315.pdf)
Как в примере по ссылке выше - Мне нужно добавить ссылку на двоичный токен безопасности в подписанной информации. Мой текущий заголовок безопасности выглядит примерно так:
<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" soapenv:mustUnderstand="1"> <wsse:BinarySecurityToken .... </wsse:BinarySecurityToken> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-582775BC8C51CCCC3F15885073262595"> <ds:SignedInfo> ... <ds:Reference URI="#SOME-BODY">...</ds:Reference> </ds:SignedInfo> <ds:SignatureValue>...</ds:SignatureValue> <ds:KeyInfo> <wsse:SecurityTokenReference wsu:Id="#binaryToken"> <wsse:Reference URI="#X509-582775BC8C51CCCC3F15885073261241" 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>
Мне нужно добавить ссылку SecurityToken к подписанной информации следующим образом: <ds:Reference URI="#binarytoken"> .... </ds:Reference>
<ds:Reference URI="#binarytoken"> .... </ds:Reference>
К сожалению, я не вижу, как я могу это сделать используя WSS4J. Я не могу добавить WSEncryptionPart, поскольку он еще не создан.