Re: [saml-dev] Artifact Format and EndpointIndex in 2.0

From
Tom Scavo <>
Date
2005-01-11T16:40:04+00:00
ID
Thread
Re: [saml-dev] Artifact Format and EndpointIndex in 2.0
The problem (for me, at least) stems from the phrase "any artifact" in
the opening line of the quote.  Since artifacts of type 0x0001--0x0003
do not have an EndpointIndex, they do not qualify as "any artifact" as
defined in SAML2.  So what is the "status" of these older artifact
formats?  (Surely, a SAML2 implementation can take advantage of them
since indexed endpoints have defaults.)

One approach, I suppose, is to define a type 0x0004 artifact as follows:

TypeCode := 0x0004
RemainingArtifact := EndpointIndex SourceID MessageHandle
EndpointIndex := Byte1Byte2
SourceID := 20-byte_sequence
MessageHandle := 20-byte_sequence

Then the original definition of SAML_artifact in SAML 1.1 is preserved.

On Thu, 30 Dec 2004 13:10:20 -0500, Scott Cantor <> wrote:
> > My understanding is that a SAML2 artifact is 44 bytes in
> > length and constructed as such:
> >
> > Bytes 1 & 2 contain the type code.
> > Bytes 2 & 3 contain the endpoint index.
> > Bytes 4-24 contain the SourceID
> > Bytes 25-44 contain the Message Handle.
> 
> Well, no. A type 0x0004 artifact is defined to be that. But SAML 2.0 does
> not specify that all artifacts have to follow that pattern. It only requires
> that the first 4 bytes be the type code and index.
> 
> That's why the type 4 definition references the RemainingArtifact construct
> in the grammar to explain that the SourceID and Message Handle are a
> construct of this artifact type, not of SAML artifacts in general.