Hi Adam,
Peter is right, you should ask the OASIS SSTC for a normative answer. In any case, it seems pretty clear that the problem here is the order of the elements. In XML Schema, a sequence is an *ordered* list of elements, as you can see in section 2.2.3.1 (Model Group) of (1). In SAML, a Response is a complex type that contains a sequence of elements (as defined by XML Schema), defined as:
<complexType name="StatusResponseType">
<sequence>
<element ref="saml:Issuer" minOccurs="0"/>
<element ref="ds:Signature" minOccurs="0"/>
<element ref="samlp:Extensions" minOccurs="0"/>
<element ref="samlp:Status"/>
</sequence>
<attribute name="ID" type="ID" use="required"/>
<attribute name="InResponseTo" type="NCName" use="optional"/>
<attribute name="Version" type="string" use="required"/>
<attribute name="IssueInstant" type="dateTime" use="required"/>
<attribute name="Destination" type="anyURI" use="optional"/>
<attribute name="Consent" type="anyURI" use="optional"/>
</complexType>
As you can see, the signature must appear before any children of the response type *except* the Issuer, which is optional. So to me it is pretty clear that the example response from your second message is wrong, as the Signature element should appear immediately after the Issuer element.
(1)
http://www.w3.org/TR/xmlschema-1/
> --
> You received this message because you are subscribed to the Google Groups "simpleSAMLphp" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
simplesamlph...@googlegroups.com.
--
Jaime Pérez
UNINETT / Feide
mail:
jaime...@uninett.no
xmpp:
ja...@jabber.uninett.no
"Two roads diverged in a wood, and I, I took the one less traveled by, and that has made all the difference."
- Robert Frost