Charles Moulliard created CXF-6873: -------------------------------------- Summary: PolicyVerificationInInterceptor ERROR Inbound policy verification failed: These policy alternatives can not be satisfied Key: CXF-6873 URL: https://issues.apache.org/jira/browse/CXF-6873 Project: CXF Issue Type: Bug Affects Versions: 3.0.4 Reporter: Charles Moulliard
The PolicyVerificationInInterceptor of the Interceptor of the Client reports this error when it gets the Server response {code} [ main] PhaseInterceptorChain WARN Interceptor for {http://jboss.org/HelloWorld}GreeterService#{http://jboss.org/HelloWorld}greetMe has thrown exception, unwinding now org.apache.cxf.ws.policy.PolicyException: These policy alternatives can not be satisfied: {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}AsymmetricBinding: Received Timestamp does not match the requirements {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}InitiatorSignatureToken {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}RecipientSignatureToken {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}IncludeTimestamp {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}SignedParts: {http://schemas.xmlsoap.org/soap/envelope/}Body not SIGNED at org.apache.cxf.ws.policy.AssertionInfoMap.checkEffectivePolicy(AssertionInfoMap.java:179) at org.apache.cxf.ws.policy.PolicyVerificationInInterceptor.handle(PolicyVerificationInInterceptor.java:102) at org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:44) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:802) {code} This error is related to the fact that the Server doesn't generate the required information needed by the client Response {code} <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <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:mustUnderstand="1"> <wsu:Timestamp wsu:Id="TS-48744ea4-5dfa-4910-97c1-88a3ba2b224b"> <wsu:Created>2016-04-19T14:13:50.848Z</wsu:Created> <wsu:Expires>2016-04-19T14:18:50.848Z</wsu:Expires> </wsu:Timestamp> </wsse:Security> </SOAP-ENV:Header> <soap:Body> <greetMeResponse xmlns="http://jboss.org/HelloWorld/types"> <responseType>Hello Charles</responseType> </greetMeResponse> </soap:Body> </soap:Envelope> {code} Here is the WSSecurityPolicy that I'm using to configure the JAXWS Client/Server beans. this policy is used to generate a TimeStamp, a username Token with a hashed password and the Body, Timestamp are signed {code} <wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:wsp="http://www.w3.org/ns/ws-policy" wsu:Id="RequiredPartsPolicy"> <wsp:ExactlyOne> <wsp:All> <sp:AsymmetricBinding> <wsp:Policy> <!-- The specified token populates the [Initiator Signature Token] property and is used for the message signature from initiator to recipient. --> <sp:InitiatorSignatureToken> <wsp:Policy> <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <!-- X509 Version 3 token should be used --> <sp:WssX509V3Token10/> <!-- An issuer serial reference is required when referencing this token and is generated as such : <wsse:SecurityTokenReference wsu:Id="STR-0c1b9c80-f6c3-459b-a9ca-868add284ba2"> <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName> CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown </ds:X509IssuerName> <ds:X509SerialNumber>863863773</ds:X509SerialNumber> </ds:X509IssuerSerial> </ds:X509Data> </wsse:SecurityTokenReference> --> <sp:RequireIssuerSerialReference/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:InitiatorSignatureToken> <sp:RecipientSignatureToken> <wsp:Policy> <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never"> <wsp:Policy> <!-- X509 Version 3 token should be used --> <sp:WssX509V3Token10/> <!-- An issuer serial reference is required when referencing this token --> <sp:RequireIssuerSerialReference/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:RecipientSignatureToken> <sp:Layout> <wsp:Policy> <sp:Lax/> </wsp:Policy> </sp:Layout> <sp:AlgorithmSuite> <wsp:Policy> <!-- Algorithm to be used to sign the message --> <sp:Basic128/> </wsp:Policy> </sp:AlgorithmSuite> <!-- Include within the WSSE Header a TimeStamp --> <sp:IncludeTimestamp/> <sp:SignedSupportingTokens> <wsp:Policy> <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:HashPassword/> </wsp:Policy> </sp:UsernameToken> </wsp:Policy> </sp:SignedSupportingTokens> </wsp:Policy> </sp:AsymmetricBinding> <!-- Elements to be signed --> <sp:SignedParts> <sp:Body/> <sp:Header Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" Name="Timestamp"/> </sp:SignedParts> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> {code} Here is the SOAP Request generated by the client {code} <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><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"><wsu:Timestamp wsu:Id="TS-fb62d8a5-7000-4a7b-9b74-484de7744159"><wsu:Created>2016-04-19T14:13:50.122Z</wsu:Created><wsu:Expires>2016-04-19T14:18:50.122Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken wsu:Id="UsernameToken-418f33ae-f291-4671-aaae-56c769fab274"><wsse:Username>cmoulliard</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">NlBUyEfQJS8NoBc/9zqk0ea6NsU=</wsse:Password><wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">+ex+MdsXUER0SlSebV+m9w==</wsse:Nonce><wsu:Created>2016-04-19T14:13:50.151Z</wsu:Created></wsse:UsernameToken><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-8590f6a8-03e0-43d3-b9b9-36de71fd462a">MIIDezCCAmOgAwIBAgIEM32D3TANBgkqhkiG9w0BAQsFADBuMRAwDgYDVQQGEwdVbmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTYwNDA2MDkzMDA0WhcNMTYwNzA1MDkzMDA0WjBuMRAwDgYDVQQGEwdVbmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9DOFY0p6B//FzN21lp2jRFtzC70FmmFuWIHAkUzyougtsmVcLybhvh6B58WMWVJxFn1rPRYFS5VHybGUD06eYV8uMTllUw59U7nNTaYqr+xfKPXYqKkTqIEKC+gNNGm25NXXp48zq5+RXDQOffqE4q0bBL8tQxX+MkDxxdlBGWG+MkCscRNmt0cNnWZR/+aWz70c+MV4l0XbKruw7KuLttTvnuqIyT5/adv4zQkf8fKEqenREMZc6Vj8OVVt3/SxEj6Dfm3VO7LgxUg4gEnO4FpUSHYRclNYxH7BX81OveuALbiMjC6XmuUuw6EZLK8EuSNqzdZ7YVrvSE5RA6SbvAgMBAAGjITAfMB0GA1UdDgQWBBQ2CsMYRH1lVh+oWCC8kd5YlITAqTANBgkqhkiG9w0BAQsFAAOCAQEAH9jcis/n8jrj9A/NJ38QdM6ymTEEHaKvDdbMi3j+Ms6q5RJdVJ9ZKYdlPTgCgD+SgkpuoMZ2Dbe5hddouNV7FUdeN29fO00sGYtmHeT9vr4e6Z6ciYqM37BeeTm/c8KHpi+hscPtk86a66d4Zxwbty0d4C0WbjlBDPMlx73rOMiQZZOEdZj+c7q2r7HjSHsSb/gVXX/rDpWzpcPxWvMMiVnhOHEb8yNJZzIScTEF0QBmPatyXvNpldO7wgVPZ8pt0ev0WgVTjAwsFb51J3BHLaM/SaSjy+PMd0x7juakAP4od3zg7/LK1I2ArcAd06P/mI/88Dbm/CCcUBnZxLn7Aw==</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-1e0b76c1-9a21-410e-bcc3-c3b6d50f3df4"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="soap"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#TS-fb62d8a5-7000-4a7b-9b74-484de7744159"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wsse soap"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>Zz8butLavsU8pUGLUPgmmxDBjsk=</ds:DigestValue></ds:Reference><ds:Reference URI="#UsernameToken-418f33ae-f291-4671-aaae-56c769fab274"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="soap"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>y6y/lKinEcuJIc+Zbtvmq/gZPZI=</ds:DigestValue></ds:Reference><ds:Reference URI="#_2ef50453-a254-494c-ad77-be6ac9a37b9d"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList=""/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>8xtLX+pO7fQmIV4WPyAXCz8mBlI=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>fWyWo0mSjOVVPzun/OZaaRJ6w4+H74xaoqdG6Jzq7UIDm3LCbFF7cWz+6dZw/ajkb40xHPeYIbU1THXwOjKNr8OiPDQUIjKKgioIr2uYax3eZLO1GcBz6rct4dC0jfQUivGEzqbo/P+C9t+AQKboldVF6LvlnAcbk8RWo9uBeUpz1Bipotau/LovVgb4RuO/YmSO2fyQhRhnihvVmpkZ5NFq9cfy85KcQFuWYVjxRgLY9NprN9hOeeD8ARiWsOfIt7OIBPNcGGh6FwKumzWjNgKfYNurs2xVDAxVkTz/NUGt0sUBfSRbAL44LmYKfxH29sf08YwTeWGa+wutC67DRg==</ds:SignatureValue><ds:KeyInfo Id="KI-915ac155-0866-48f2-980e-2c094f5f3d05"><wsse:SecurityTokenReference wsu:Id="STR-d1334971-113b-4fc2-bd60-f33355293b7d"><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown</ds:X509IssuerName><ds:X509SerialNumber>863863773</ds:X509SerialNumber></ds:X509IssuerSerial></ds:X509Data></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security></SOAP-ENV:Header><soap:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="_2ef50453-a254-494c-ad77-be6ac9a37b9d"><greetMe xmlns="http://jboss.org/HelloWorld/types"><requestType>Charles</requestType></greetMe></soap:Body></soap:Envelope> {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)