IdP credentials for delegation Assertion signature validation

Brent Putman putmanb at georgetown.edu
Wed Oct 21 23:14:27 EDT 2015



On 8/21/15 7:53 PM, Brent Putman wrote:
>
>
> On 8/20/15 6:36 AM, Rod Widdowson wrote:
>> If this doesn't feels like a "RelyingParty" thing you can create a new interface to do what you need, make DefaultRelyingPartyConfigurationResolver implement it and then build your own service based around that.  I have currently swapped the precise details out on how to do this, but it's how the AttributeResolverImpl masquerades as an Attribute Resolver and an Attribute Mapper.
>
> What I did for now, to keep moving forward, was just define a
> List<Credential> directly on
> DefaultRelyingPartyConfigurationResolver.  Then a specialized
> credential resolver injected with the service gets the serviceable
> component on each call.  It needs to check and cast to
> DefaultRelyingPartyConfigurationResolver, so it uses the service
> directly (shibboleth.RelyingPartyResolverService), rather than the
> facade bean (shibboleth.RelyingPartyConfigurationResolver).  At least
> until we decide whether we want to promote this to the
> RelyingPartyConfigurationResolver interface.
>
> This turned out to be pretty easy.


FYI, in looking at the delegation NameID encryption stuff (the need to
encrypt to self) I realized that we pretty much need the same thing for
the IdP's encryption creds.  So I just copied exactly what I described
above for the signing creds.  I.e. it's all impl at this point, and is
not promoted to the API.

Only thing I wanted to note was that the name of the existing list of
creds 'shibboleth.DefaultEncryptionCredentials' felt wrong since it's
supposed to be *all* of them.  So in wiring in relying-party-system.xml
I use as the well-known bean name 'shibboleth.EncryptionCredentials',
which is more parallel to the 'shibboleth.SigningCredentials' that we
earlier added.  In credentials.xml, I just then did an <alias> by
default, with a note that it could be redefined as a real bean:

    <!--
    The list of ALL of your IdP's encryption credentials. By default
this is just an alias
    for 'shibboleth.DefaultEncryptionCredentials'. It could be
re-defined as
    a list with additional credentials if needed.
    -->
    <alias alias="shibboleth.EncryptionCredentials"
name="shibboleth.DefaultEncryptionCredentials" />


Like the signing case, the wiring uses getObject(), so legacy configs
won't break if the bean doesn't exist.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/dev/attachments/20151021/f058a415/attachment-0001.html>


More information about the dev mailing list