Current File(s): conf/c14n/x500-subject-c14n-config.xml (V4.0), conf/c14n/subject-c14n.properties (V4.1+)

Format: Native Spring, Properties (V4.1+)

Overview

The c14n/x500 post-login subject canonicalization flow extracts a username from a Java Subject that contains either a single X509Certificate object in the public credentials set or a single X500Principal in the Principal set. It is primarily designed to work in conjunction with the X509 or X509Internal login flows.

General Configuration

Use conf/c14n/x500-subject-c14n-config.xml to configure this flow.

Use conf/c14n/subject-c14n.properties to configure this flow.

If your system is upgraded, you may continue to use conf/c14n/x500-subject-c14n-config.xml as before, or you may remove it, while ensuring the new properties are being loaded.

The regular expression replacement feature is the only one remaining that still requires XML and you may define that bean, if needed, in conf/c14n/subject-c14n.xml

By default, the subject DN is searched for a "CN" RDN attribute (with OID 2.5.4.3). You can configure alternative attributes to search for, or give preference to subjectAltName extensions (if an X509Certificate is present).

By default, the only transform applied to the result is a trim of leading or trailing whitespace. Case-folding and regular expression replacements can be added, per the reference section below.

Reference

The beans defined in conf/c14n/x500-subject-c14n-config.xml follow:

Bean IDTypeDefaultDescription
shibboleth.c14n.x500.SubjectAltNameTypesList<Integer>
A list of subjectAltName extension types to look for
shibboleth.c14n.x500.ObjectIDsList<String>2.5.4.3A list of attribute OIDs to search for in the subject DN
shibboleth.c14n.x500.LowercaseBooleanfalseWhether to lowercase the username
shibboleth.c14n.x500.UppercaseBooleanfalseWhether to uppercase the username
shibboleth.c14n.x500.TrimBooleantrueWhether to trim leading and trailing whitespace from the username
shibboleth.c14n.x500.TransformsPair<String,String>
Pairs of regular expressions and replacement expressions to apply to the username

The following bean may be defined in conf/subject-c14n.xml if needed:

Bean IDTypeDescription
shibboleth.c14n.x500.TransformsPair<String,String>Pairs of regular expressions and replacement expressions to apply to the username

The following properties are commented out in conf/c14n/subject-c14n.properties:

NameTypeDefaultDescription
idp.c14n.x500.subjectAltNameTypesList<Integer>
Comma-delimited list of subjectAltName extension types to look for
idp.c14n.x500.objectIDsList<String>2.5.4.3Comma-delimited list of attribute OIDs to search for in the subject DN
idp.c14n.x500.lowercaseBooleanfalseWhether to lowercase the username
idp.c14n.x500.uppercaseBooleanfalseWhether to uppercase the username
idp.c14n.x500.trimBooleantrueWhether to trim leading and trailing whitespace from the username