Questions about signing key pair in IdP

Tom Scavo trscavo at gmail.com
Tue Jul 10 11:30:43 EDT 2012


On Tue, Jul 10, 2012 at 9:55 AM, Cantor, Scott <cantor.2 at osu.edu> wrote:
>> As I understand from the above article, the key pair for signing and the
>> key pair for the SSL/TLS on port 8443 MUST always be the same and this
>> single public key is published through <md:KeyDescriptor use="signing">
>> in metadata, right?
>
> No, not at all. The keys are what you want them to be. The only requirement is to document them in the metadata you provide to SPs.

I think this needs further clarification. Suppose you have a key
descriptor with use="signing" in the IDPSSODescriptor element and
another key descriptor with use="signing" in the
AttributeAuthorityDescriptor element. If the two certificates are the
same, then the same key pair is used for everything:

- message signing on the front channel
- message signing on the back channel (if the IdP supports that)
- SSL/TLS on the back channel

If, OTOH, the two certificates are different, then key pair #2 is used for:

- message signing in conjunction with attribute query (if the IdP supports that)
- SSL/TLS in conjunction with artifact query

while key pair #1 is used for everything else, including message
signing on the front channel, message signing in conjunction with the
artifact binding, and SSL/TLS in conjunction with the artifact
binding.

That said, I've never seen two different use="signing" certificates in
IdP metadata, which is not surprising since such a deployment would be
very complicated. Likewise, I've never seen a use="encryption"
certificate in IdP metadata since I don't believe there's anything an
SP could send an IdP that could be encrypted. Oh, I take that back, an
SP could send an encrypted NameID in the AuthnRequest...not sure if
there's any software that supports this edge case, however.

Tom


More information about the users mailing list