Shibboleth IdP integration with Oracle 11g Identity Federation

lalithj j_lalith at hotmail.com
Mon Mar 25 19:52:40 EDT 2013


Hi All,

We got Shibboleth IdP 2.3.8 in prod, currently we got couple of SPs
integrated with us successfully.

Now we got a new requirement that one of the SPs need to interact with us
but they( their applications) are based on Oracle 11g platform, to achive
SSO, they have decided OIF integration with our IdP.

They are in the exercise of linking with our IdP via OIF (Oracle Identity
Federation), We did exchange the meta data and our replying party now points
to their SP meta data as well, also in our filter policy we do release 4
attributes to this entity Id,

However Client is complaining that they are getting some exception 'bad
certifcate' in their logs and also not getting any attributes, which I
attached below fully.

Then I asked them to provide the test client URL and tried ourselves with
SAML tracer on, I just listed below the first SAML request (received by us)
which look very different to our other SP SAML requests.


Our Idp log also complains about an issue

No attribute of principal 'xxxxxxx' can be encoded in to a NameIdentifier of
required format 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress' for
relying party 'http://clientsp:14100/oam/fed'
10:47:25.272 - DEBUG
[edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:778]
- Encoding response to SAML request
id-Wn0-Q5MdpBJfo3XgE6qx-tl4ST7vizDbfgnbeWGI from relying party
http://dev15sdvt.vu.edu.au:14100/oam/fed


What could be the reason for this error, any ideas 

SAML tracer entry.....

<ns12:AuthnRequest
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
                   xmlns:xrd="xri://$xrd*($v*2.0)"
                   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
                   xmlns:ns4="http://www.w3.org/2005/08/addressing"
                  
xmlns:tns="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
                  
xmlns:ns6="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                   xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"
                   xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
                   xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
                   xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                  
xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"
                   xmlns:ns12="urn:oasis:names:tc:SAML:2.0:protocol"
                  
xmlns:wst14="http://docs.oasis-open.org/ws-sx/ws-trust/200802"
                   xmlns:ic="http://schemas.xmlsoap.org/ws/2005/05/identity"
                   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
                   xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"
                  
xmlns:ns17="http://docs.oasis-open.org/ws-sx/ws-trust/200512"
                   xmlns:xrds="xri://$xrds"
                   xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
                   xmlns:ns20="urn:oasis:names:tc:SAML:1.0:assertion"
                   xmlns:ns21="http://schemas.xmlsoap.org/soap/envelope/"
                  
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
                  
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  
xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
                   xmlns:ns27="urn:oasis:names:tc:SAML:profiles:v1metadata"
                   ForceAuthn="false"
                   IsPassive="false"
                   ID="id-yrt4HUBx3ozH-GSIuE4Zh1zPo6xqzurU5RMK5AGb"
                   Version="2.0"
                   IssueInstant="2013-03-25T23:14:11Z"
                  
Destination="https://ouridp.vu.edu.au/idp/profile/SAML2/Redirect/SSO"
                   >
    <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://dev15sdvt.vu.edu.au:14100/oam/fed</saml:Issuer>
    <ns12:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
                       AllowCreate="true"
                       />
</ns12:AuthnRequest>



Client log got below exception

<Error> <oracle.security.fed.controller.library.api.FedEngineInstance>
<FEDSTS-12079> <ResponseHandlerException: {0}
oracle.security.fed.controller.frontend.action.exceptions.ResponseHandlerException:
oracle.security.fed.util.soap.SOAPException:
javax.net.ssl.SSLHandshakeException: Received fatal alert:
<b>bad_certificate*
        at
oracle.security.fed.frontend.fed.responsehandler.profiles.sp.SendSoapRequestSSOResponseHandler.perform(SendSoapRequestSSOResponseHandler.java:119)
        at
oracle.security.fed.controller.library.api.FedEngineInstance.processCall(FedEngineInstance.java:279)
        at
oracle.security.fed.controller.library.api.FedEngineInstance.processCall(FedEngineInstance.java:164)
        at
oracle.security.fed.controller.library.api.FedEngineSPInstance.validateAndMapAssertion(FedEngineSPInstance.java:166)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
oracle.security.am.engine.authn.internal.plugin.FedUserAuthenticationPlugin.invokeValidateAndMapAssertion(FedUserAuthenticationPlugin.java:284)
        at
oracle.security.am.engine.authn.internal.plugin.FedUserAuthenticationPlugin.process(FedUserAuthenticationPlugin.java:162)
        at
oracle.security.am.engine.authn.internal.executor.PlugInExecutor.execute(PlugInExecutor.java:197)
        at
oracle.security.am.engine.authn.internal.executor.AuthenticationSchemeExecutor.execute(AuthenticationSchemeExecutor.java:101)
        at
oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl.validateUser(AuthenticationEngineControllerImpl.java:265)
        at
oracle.security.am.engines.enginecontroller.AuthnEngineController.authenticateUser(AuthnEngineController.java:698)
        at
oracle.security.am.engines.enginecontroller.AuthnEngineController.processEvent(AuthnEngineController.java:299)
        at
oracle.security.am.controller.MasterController.processEvent(MasterController.java:570)
        at
oracle.security.am.controller.MasterController.processRequest(MasterController.java:759)
        at
oracle.security.am.controller.MasterController.process(MasterController.java:682)
        at
oracle.security.am.pbl.PBLFlowManager.delegateToMasterController(PBLFlowManager.java:209)
        at
oracle.security.am.pbl.PBLFlowManager.handleBaseEvent(PBLFlowManager.java:147)
        at
oracle.security.am.pbl.PBLFlowManager.processRequest(PBLFlowManager.java:107)
        at
oracle.security.am.pbl.transport.http.AMServlet.handleRequest(AMServlet.java:177)
        at
oracle.security.am.pbl.transport.http.AMServlet.doPost(AMServlet.java:136)
        at
oracle.security.am.pbl.transport.http.AMServlet.doGet(AMServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
 at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
        at
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
        at
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
        at
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
        at
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
oracle.security.am.agent.wls.filters.OAMServletAuthenticationFilter.doFilter(OAMServletAuthenticationFilter.java:264)
        at
oracle.security.am.agent.wls.filters.OAMValidationSystemFilter.doFilter(OAMValidationSystemFilter.java:134)
        at
oracle.security.wls.oamagent.OAMAgentWrapperFilter.doFilter(OAMAgentWrapperFilter.java:120)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3738)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3704)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281)
        at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2180)
        at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
oracle.security.am.engine.authn.internal.plugin.FedUserAuthenticationPlugin.invokeValidateAndMapAssertion(FedUserAuthenticationPlugin.java:284)
        at
oracle.security.am.engine.authn.internal.plugin.FedUserAuthenticationPlugin.process(FedUserAuthenticationPlugin.java:162)
        at
oracle.security.am.engine.authn.internal.executor.PlugInExecutor.execute(PlugInExecutor.java:197)
        at
oracle.security.am.engine.authn.internal.executor.AuthenticationSchemeExecutor.execute(AuthenticationSchemeExecutor.java:101)
        at
oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl.validateUser(AuthenticationEngineControllerImpl.java:265)
        at
oracle.security.am.engines.enginecontroller.AuthnEngineController.authenticateUser(AuthnEngineController.java:698)
        at
oracle.security.am.engines.enginecontroller.AuthnEngineController.processEvent(AuthnEngineController.java:299)
        at
oracle.security.am.controller.MasterController.processEvent(MasterController.java:570)
        at
oracle.security.am.controller.MasterController.processRequest(MasterController.java:759)
        at
oracle.security.am.controller.MasterController.process(MasterController.java:682)
        at
oracle.security.am.pbl.PBLFlowManager.delegateToMasterController(PBLFlowManager.java:209)
        at
oracle.security.am.pbl.PBLFlowManager.handleBaseEvent(PBLFlowManager.java:147)
        at
oracle.security.am.pbl.PBLFlowManager.processRequest(PBLFlowManager.java:107)
        at
oracle.security.am.pbl.transport.http.AMServlet.handleRequest(AMServlet.java:177)
        at
oracle.security.am.pbl.transport.http.AMServlet.doPost(AMServlet.java:136)
        at
oracle.security.am.pbl.transport.http.AMServlet.doGet(AMServlet.java:697)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
        at
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
        at
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
        at
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
        at
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at
oracle.security.am.agent.wls.filters.OAMServletAuthenticationFilter.doFilter(OAMServletAuthenticationFilter.java:264)
        at
oracle.security.am.agent.wls.filters.OAMValidationSystemFilter.doFilter(OAMValidationSystemFilter.java:133)
        at
oracle.security.wls.oamagent.OAMAgentWrapperFilter.doFilter(OAMAgentWrapperFilter.java:120)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3738)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3704)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281)
        at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2180)
        at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.lang.RuntimeException:
oracle.security.fed.controller.frontend.action.exceptions.ResponseHandlerException:
oracle.security.fed.util.soap.SOAPException:
javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate
        at
oracle.security.fed.controller.library.api.FedEngineInstance.processCall(FedEngineInstance.java:395)
        at
oracle.security.fed.controller.library.api.FedEngineInstance.processCall(FedEngineInstance.java:164)
        at
oracle.security.fed.controller.library.api.FedEngineSPInstance.validateAndMapAssertion(FedEngineSPInstance.java:166)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
oracle.security.am.engine.authn.internal.plugin.FedUserAuthenticationPlugin.invokeValidateAndMapAssertion(FedUserAuthenticationPlugin.java:284)
        at
oracle.security.am.engine.authn.internal.plugin.FedUserAuthenticationPlugin.process(FedUserAuthenticationPlugin.java:162)
        at
oracle.security.am.engine.authn.internal.executor.PlugInExecutor.execute(PlugInExecutor.java:197)
        at
oracle.security.am.engine.authn.internal.executor.AuthenticationSchemeExecutor.execute(AuthenticationSchemeExecutor.java:101)
        at
oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl.validateUser(AuthenticationEngineControllerImpl.java:265)
        at
oracle.security.am.engines.enginecontroller.AuthnEngineController.authenticateUser(AuthnEngineController.java:698)
        at
oracle.security.am.engines.enginecontroller.AuthnEngineController.processEvent(AuthnEngineController.java:299)
        at
oracle.security.am.controller.MasterController.processEvent(MasterController.java:570)
        at
oracle.security.am.controller.MasterController.processRequest(MasterController.java:759)
        at
oracle.security.am.controller.MasterController.process(MasterController.java:682)
        at
oracle.security.am.pbl.PBLFlowManager.delegateToMasterController(PBLFlowManager.java:209)
at
oracle.security.am.pbl.PBLFlowManager.handleBaseEvent(PBLFlowManager.java:147)
        at
oracle.security.am.pbl.PBLFlowManager.processRequest(PBLFlowManager.java:107)
        at
oracle.security.am.pbl.transport.http.AMServlet.handleRequest(AMServlet.java:177)
        at
oracle.security.am.pbl.transport.http.AMServlet.doPost(AMServlet.java:136)
        at
oracle.security.am.pbl.transport.http.AMServlet.doGet(AMServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
        at
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
        at
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
        at
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
        at
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
oracle.security.am.agent.wls.filters.OAMServletAuthenticationFilter.doFilter(OAMServletAuthenticationFilter.java:264)
        at
oracle.security.am.agent.wls.filters.OAMValidationSystemFilter.doFilter(OAMValidationSystemFilter.java:134)
        at
oracle.security.wls.oamagent.OAMAgentWrapperFilter.doFilter(OAMAgentWrapperFilter.java:120)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        at
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61)
        ... 9 more
Caused by:
oracle.security.fed.controller.frontend.action.exceptions.ResponseHandlerException:
oracle.security.fed.util.soap.SOAPException:
javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate
        at
oracle.security.fed.frontend.fed.responsehandler.profiles.sp.SendSoapRequestSSOResponseHandler.perform(SendSoapRequestSSOResponseHandler.java:119)
        at
oracle.security.fed.controller.library.api.FedEngineInstance.processCall(FedEngineInstance.java:279)
        ... 51 more
<Mar 21, 2013 3:50:16 PM EST> <Error> <oracle.oam.binding> <OAM-00002>
<Error occurred while handling the request.
java.lang.NullPointerException
        at
oracle.security.am.pbl.protocol.plugin.credcollect.DefaultRedirectionStrategy.getTargetUrl(DefaultRedirectionStrategy.java:403)
        at
oracle.security.am.pbl.protocol.plugin.credcollect.DefaultRedirectionStrategy.getRedirectUrl(DefaultRedirectionStrategy.java:314)
        at
oracle.security.am.pbl.protocol.plugin.credcollect.DefaultCredCollectResponseExecutor.process(DefaultCredCollectResponseExecutor.java:121)
        at
oracle.security.am.pbl.protocol.plugin.credcollect.CredentialCollectionResponseHandler.process(CredentialCollectionResponseHandler.java:99)
        at
oracle.security.am.pbl.PBLFlowManager.handleBaseEvent(PBLFlowManager.java:175)
        at
oracle.security.am.pbl.PBLFlowManager.processRequest(PBLFlowManager.java:107)
        at
oracle.security.am.pbl.transport.http.AMServlet.handleRequest(AMServlet.java:177)
        at
oracle.security.am.pbl.transport.http.AMServlet.doPost(AMServlet.java:136)
        at
oracle.security.am.pbl.transport.http.AMServlet.doGet(AMServlet.java:697)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)




Thanks










--
View this message in context: http://shibboleth.1660669.n2.nabble.com/Shibboleth-IdP-integration-with-Oracle-11g-Identity-Federation-tp7585604.html
Sent from the Shibboleth - Users mailing list archive at Nabble.com.


More information about the users mailing list