[wsf-dev] ECP plugin build/execute feedback

Peter Williams pwilliams at rapattoni.com
Thu May 1 16:34:31 PDT 2008


I'm a little behind my schedule, but I am making progress, inch by inch.


 

Last week, I got Shib2 to deliver an (unsigned) AuthnRequest with an ECP
header, wrapped in SOAP1.1. Scott showed how to ensure Shib2 generates a
list of IDPs in the AuthnRequest, which your proxy code will presumably
present to Firefox users - for their selection.

 

This week I finally (by sheer luck) got PingFederate 5.01 to issue a
signed message (SAML Error) with an ECP header. A second trial, with a
well formed AuthnRequest, does more properly cause PingFederate to now
hit a backend AuthenticationAuthority. One I plug my own
AuthticationAuthority class into PingFederate, its reasonably to now
assume that once IDP processing is complete as IDP PingFedarate WILL
then generate a positive AuthnResponse, with ECP header, all signed and
then wrapped as a SOAP Response. 

 

Sound like the scenario is coming together, using a good variety of
sources for the various components. We seem to have the beginnings of
the http SP endpoint producing PAOS ECP messages, the SOAP-bound IDP
producing an AuthnResponse with the required ECP header block, and your
proxy.

 

Of course, this has all been done in conformance testing by  others ...
but the systems' setup data for those tests is not available to me, and
the product/Shib2 documentation say little or nothing on the topic of
ECP and PAOS. I'm having to figure it out, mostly relying on code
reading, protocol run observations and then trial and error. I do
believe tho - despite the hurdles - that I'm pretty to having your proxy
now intermediate both sides of the ECP handoff.

 

Peter.

 

 

 

POST /idp/SSO.saml2  HTTP/1.1

Content-Type: text/xml

SOAPAction: 

User-Agent: Jakarta Commons-HttpClient/2.0.2

Host: win8pw.rapattoni.local:9030

Cookie: $Version=0; PF=I6teR8rkVrSA990YVihTU5; $Path=/

Content-Length: 567

 

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Body>

  <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
ForceAuthn="true" IssueInstant="2008-05-01T21:55:38.417Z" ID="ReuN6

kcKciIz6QoYqVrDCkKABT" Version="2.0">

    <saml:Issuer
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">PF-DEMO</saml:Issuer>

 

    <samlp:NameIDPolicy SPNameQualifier="petersp" AllowCreate="true"/>

  </samlp:AuthnRequest>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

 

 

 

HTTP/1.1 200 OK

Date: Thu, 01 May 2008 23:09:15 GMT

Server: Jetty/5.1.12 (Windows Server 2008/6.0 x86 java/1.6.0_06

Cache-Control: no-cache, no-store

Pragma: no-cache

max-age: Thu, 01 Jan 1970 00:00:00 GMT

Expires: Thu, 01 Jan 1970 00:00:00 GMT

Content-Type: text/xml

Content-Length: 1983

 

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Hea
der><ecp:Response SOAP-ENV:mustUnderstand="1"
AssertionConsumerServiceURL="http://win8pw.rapattoni.local:9030/sp/ACS.s
aml2" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"
xmlns:ecp="urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp"/></SOAP-ENV:Hea
der><SOAP-ENV:Body><samlp:Response InResponseTo="ReuN6
kcKciIz6QoYqVrDCkKABT" IssueInstant="2008-05-01T23:09:15.828Z"
ID="iEEDq1CCUIH3WU-cbqCYqkWTul6" Version="2.0"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><saml:Issuer
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">PF-DEMO</saml:Issuer>
<ds:Signature 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="#iEEDq1CCUIH3WU-cbqCYqkWTul6">

<ds:Transforms>

<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>

<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

</ds:Transforms>

<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

<ds:DigestValue>0UbOJJJ78DbKHNNT2v/6waGfm4Q=</ds:DigestValue>

</ds:Reference>

</ds:SignedInfo>

<ds:SignatureValue>

NbpJhmzXdyHaIlinoEibXge1Y8hk74+9+h9n28bk1Df6pZYuWLeexbb9Rs6W79jRZfw3nxkI
CypL

uvCUG7ahFX5m0iTkLy44B0ppt0/MADKalZTft2/u6ENxaOmlWgsxjiLSrk+BkNR+N2G9nyMy
DS2P

Px+/2PTwfpDnizZ2IC0=

</ds:SignatureValue>

</ds:Signature><samlp:Status><samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Requester"/><samlp:StatusMessa
ge>Request was invalid
XML</samlp:StatusMessage><samlp:StatusDetail><Cause>com.pingidentity.com
mon.util.xml.InvalidXmlException: Invalid XML - errors: [error: String:
'ReuN6 kcKciIz6QoYqVrDCkKABT' does not match pattern for
xs:ID]</Cause></samlp:StatusDetail></samlp:Status></samlp:Response></SOA
P-ENV:Body></SOAP-ENV:Envelope>

 

From: Peter Pritchard [mailto:peter.openliberty at zenn.net] 
Sent: Monday, April 28, 2008 11:20 AM
To: wsf-dev at lists.openliberty.org
Cc: Peter Williams
Subject: Re: [wsf-dev] ECP plugin build/execute feedback

 

Sorry about the docs ...

 

I will update them soon ...

 

So I built the final .xpi file, so we no longer have to use eclipse to
launch the extension

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openliberty.org/pipermail/wsf-dev_lists.openliberty.org/attachments/20080501/186ed187/attachment-0001.html 


More information about the Wsf-dev mailing list