SPNEGO authentication and multiple Kerberos service principals

Scott Koranda skoranda at gmail.com
Thu Mar 30 09:06:43 EDT 2017


Hi,

Some OS and browser combinations, most notably FireFox on Debian 8, when
using SPNEGO will use the TGT to obtain a service principal of the form

HTTP/my.server.campus.edu at MY.ORG

Note that the browser bar shows 'my.server.org' and not
'my.server.campus.edu'. 'my.server.org' is a CNAME for
'my.server.campus.edu'.

Since we configured the IdP with only the single principal

HTTP/my.server.org at MY.ORG

this caused SPNEGO to not function for FireFox on Debian 8 and some
other combinations.

The solution appears simple. I just edited conf/authn/spnego-authn-config.xml
and added an extra "realm" that points at the same keytab file (just easier 
to put them both in one keytab file):

<util:list id="shibboleth.authn.SPNEGO.Krb5.Realms">

    <bean parent="shibboleth.KerberosRealmSettings"
        p:servicePrincipal="HTTP/my.server.org at MY.ORG"
        p:keytab="/opt/shibboleth-idp/credentials/httpd.keytab" />

    <bean parent="shibboleth.KerberosRealmSettings"
        p:servicePrincipal="HTTP/my.server.campus.edu at MY.ORG"
        p:keytab="/opt/shibboleth-idp/credentials/httpd.keytab" />

</util:list>

I did this because servicePrincipal appears to be single-valued, whereas
support for more than one "realm" is obvious.

This appears to work.

Is there any reason I should not do this?

Should servicePrincipal be evolved to accept a list of strings?

Thanks,

Scott K



More information about the users mailing list