Are you sure you're using the ut_encrypted port? Because the token that is issued by the STS is encrypted for the WSP and so should appear in the WSC -> WSP request as an "EncryptedData" structure, whereas in your test-case I can see the SAML Assertion.
Colm. On Wed, Jul 18, 2012 at 2:50 PM, Gina Choi <[email protected]> wrote: > Hi Colm, > > <<< > What error are you seeing? The default value is rsa-1_5 so it shouldn't > make any difference whether it's specified or not. > >>> > No doubt that rsa01_5 is default value. When I comment out > "encryptionProperties", client sends following SOAP request to WSP. I > abbreviated some part of request to save space. The other thing that I > noticed is encryption algorithm for Body is > "*aes256-cbc<http://www.w3.org/2001/04/xmlenc#aes256-cbc> > ",* I think this is because I set SymmetricKey key size to* "256"* in WSP > wsdl file.. > > So, I tried following combinations, but I am getting same error message(*The > signature or decryption was invalid*) that I was getting at the > begging(detailed error message is at the end of this email). > > <bean id="encProperties" > class="org.apache.cxf.sts.service.EncryptionProperties"> > <property name="encryptionAlgorithm" value=" > http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> > <property name="keyWrapAlgorithm" value=" > http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" /> > </bean> > > or > > <bean id="encProperties" > class="org.apache.cxf.sts.service.EncryptionProperties"> > <property name="encryptionAlgorithm" value=" > http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> > <property name="keyWrapAlgorithm" value=" > http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> > </bean> > > > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > > <soap:Header> > > <Action xmlns="http://www.w3.org/2005/08/addressing" > > …………………………….. > > <Address> > > http://www.w3.org/2005/08/addressing/anonymous</Address> > > </ReplyTo> > > <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-9"> > > <wsu:Created>2012-07-18T13:27:33.561Z</wsu:Created> > > <wsu:Expires>2012-07-18T13:32:33.561Z</wsu:Expires> > > </wsu:Timestamp> > > <saml1:Assertion xmlns:saml1="urn:oasis:names:tc:SAML:1.0:assertion" > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > AssertionID="_8FD304F766D8EC9F4913426180531752" > > IssueInstant="2012-07-18T13:27:33.135Z" > > Issuer="DoubleItSTSIssuer" MajorVersion="1" MinorVersion="1" > > xsi:type="saml1:AssertionType"> > > <saml1:Conditions NotBefore="2012-07-18T13:27:33.192Z" > > NotOnOrAfter="2012-07-18T13:57:33.192Z"> > > <saml1:AudienceRestrictionCondition> > > <saml1:Audience> > > > https://wkengchoi.global.sdl.corp:8443/doubleit/services/doubleit</saml1:Audience > > > > </saml1:AudienceRestrictionCondition> > > </saml1:Conditions> > > <saml1:AttributeStatement> > > <saml1:Subject> > > <saml1:NameIdentifier > Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" > > NameQualifier="http://cxf.apache.org/sts"> > > gchoi</saml1:NameIdentifier> > > <saml1:SubjectConfirmation> > > <saml1:ConfirmationMethod> > > > urn:oasis:names:tc:SAML:1.0:cm:holder-of-key</saml1:ConfirmationMethod> > > <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> > > > > <xenc:EncryptedKey xmlns:xenc=" > http://www.w3.org/2001/04/xmlenc#" > > Id="EK-8FD304F766D8EC9F4913426180521881"> > > *<xenc:EncryptionMethod Algorithm=" > http://www.w3.org/2001/04/xmlenc#rsa-1_5" />* > > <ds:KeyInfo> > > <wsse:SecurityTokenReference xmlns:wsse=" > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd > "> > > <ds:X509Data> > > ………………………………………….. > > </ds:Signature> > > </wsse:Security> > > </soap:Header> > > <soap:Body xmlns:wsu=" > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd > " > > wsu:Id="Id-33117811"> > > <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" > > Id="ED-11" Type="http://www.w3.org/2001/04/xmlenc#Content"> > > *<xenc:EncryptionMethod Algorithm=" > http://www.w3.org/2001/04/xmlenc#aes256-cbc" />* > > <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> > > <ns3:SecurityTokenReference xmlns:ns3=" > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd > " > > xmlns:wsse11=" > http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" > > wsse11:TokenType=" > http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1"> > > <ns3:KeyIdentifier ValueType=" > http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID > "> > > #_8FD304F766D8EC9F4913426180531752</ns3:KeyIdentifier> > > </ns3:SecurityTokenReference> > > </ds:KeyInfo> > > <xenc:CipherData> > > <xenc:CipherValue> > > > N2Uccex7TOVh2BpffQu1e0KSyxSp3CAWh0iVkNeQ2FjB4GClOpd56C6zk6p39j5L8n/DoOqbBMmoufG848qQUACKfikmjqfmKQXBcaLZlFYk05BBr5myToUl7FnyJpChLlAJNNdERM2R5Z2eHz1GhYEIm3uS3Xz5UFzX/M0bE9KtaLkhP4CfQWTP/hskcDmg</xenc:CipherValue> > > </xenc:CipherData> > > </xenc:EncryptedData> > > </soap:Body> > > </soap:Envelope> > > > > Following is error message on WSP side. > > > Jul 18, 2012 9:24:55 AM > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor handleMessage > WARNING: > *org.apache.ws.security.WSSecurityException: The signature or decryption > was invalid* > at > org.apache.ws.security.processor.ReferenceListProcessor.decryptEncryptedData(ReferenceListProcessor.java:314) > at > org.apache.ws.security.processor.ReferenceListProcessor.decryptDataRefEmbedded(ReferenceListProcessor.java:172) > at > org.apache.ws.security.processor.ReferenceListProcessor.handleReferenceList(ReferenceListProcessor.java:100) > at > org.apache.ws.security.processor.ReferenceListProcessor.handleToken(ReferenceListProcessor.java:60) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396) > at > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:289) > at > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:97) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:130) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:221) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:141) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:197) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > *Caused by: org.apache.xml.security.encryption.XMLEncryptionException: > Given final block not properly padded* > Original Exception was javax.crypto.BadPaddingException: Given final block > not properly padded > at > org.apache.xml.security.encryption.XMLCipher.decryptToByteArray(XMLCipher.java:1766) > at > org.apache.xml.security.encryption.XMLCipher.decryptElement(XMLCipher.java:1612) > at > org.apache.xml.security.encryption.XMLCipher.decryptElementContent(XMLCipher.java:1650) > at > org.apache.xml.security.encryption.XMLCipher.doFinal(XMLCipher.java:978) > at > org.apache.ws.security.processor.ReferenceListProcessor.decryptEncryptedData(ReferenceListProcessor.java:312) > ... 32 more > Caused by: javax.crypto.BadPaddingException: Given final block not > properly padded > at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) > at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) > at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..) > at javax.crypto.Cipher.doFinal(DashoA13*..) > at > org.apache.xml.security.encryption.XMLCipher.decryptToByteArray(XMLCipher.java:1762) > ... 36 more > Jul 18, 2012 9:24:55 AM org.apache.cxf.phase.PhaseInterceptorChain > doDefaultLogging > WARNING: Interceptor for { > http://www.example.org/contract/DoubleIt}DoubleItService has thrown > exception, unwinding now > org.apache.cxf.binding.soap.SoapFault: The signature or decryption was > invalid > at > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.createSoapFault(WSS4JInInterceptor.java:780) > at > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:357) > at > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:97) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:130) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:221) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:141) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:197) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.apache.ws.security.WSSecurityException: The signature or > decryption was invalid > at > org.apache.ws.security.processor.ReferenceListProcessor.decryptEncryptedData(ReferenceListProcessor.java:314) > at > org.apache.ws.security.processor.ReferenceListProcessor.decryptDataRefEmbedded(ReferenceListProcessor.java:172) > at > org.apache.ws.security.processor.ReferenceListProcessor.handleReferenceList(ReferenceListProcessor.java:100) > at > org.apache.ws.security.processor.ReferenceListProcessor.handleToken(ReferenceListProcessor.java:60) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396) > at > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:289) > ... 27 more > *Caused by: org.apache.xml.security.encryption.XMLEncryptionException: > Given final block not properly padded* > Original Exception was javax.crypto.BadPaddingException: Given final block > not properly padded > at > org.apache.xml.security.encryption.XMLCipher.decryptToByteArray(XMLCipher.java:1766) > at > org.apache.xml.security.encryption.XMLCipher.decryptElement(XMLCipher.java:1612) > at > org.apache.xml.security.encryption.XMLCipher.decryptElementContent(XMLCipher.java:1650) > at > org.apache.xml.security.encryption.XMLCipher.doFinal(XMLCipher.java:978) > at > org.apache.ws.security.processor.ReferenceListProcessor.decryptEncryptedData(ReferenceListProcessor.java:312) > ... 32 more > Caused by: javax.crypto.BadPaddingException: Given final block not > properly padded > at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) > at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) > at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..) > at javax.crypto.Cipher.doFinal(DashoA13*..) > at > org.apache.xml.security.encryption.XMLCipher.decryptToByteArray(XMLCipher.java:1762) > ... 36 more > Jul 18, 2012 9:24:55 AM > org.apache.cxf.services.DoubleItService.DoubleItPort.DoubleItPortType > INFO: Outbound Message > > -- Colm O hEigeartaigh Talend Community Coder http://coders.talend.com
