Konfiguration der Föderationsmetadaten

In diesem Schritt konfigurieren Sie, welche Metadatensätze Ihr IdP von uns holt, wie oft er dies tut und mit welchem Zertifikat die Signatur überprüft werden soll.

Das folgende Beispiel geht davon aus, dass das Zertifikat zur Validierung der Signatur der Metadaten unter /etc/ssl/aai/ abgelegt wurde. Dieser Pfad muss ggf. entsprechend den lokalen Gegebenheiten angepasst werden.
(ein Klick auf den Dateinamen startet den Download)

./conf/metadata-providers.xml
<?xml version="1.0" encoding="UTF-8"?>
<MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider"
    xmlns="urn:mace:shibboleth:2.0:metadata"
    xmlns:security="urn:mace:shibboleth:2.0:security"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
    xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    xmlns:ds11="http://www.w3.org/2009/xmldsig11#"
    xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
    xmlns:enc11="http://www.w3.org/2009/xmlenc11#"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
        urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd
        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd
        urn:oasis:names:tc:SAML:metadata:algsupport http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-metadata-algsupport-v1.0.xsd
        http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
        http://www.w3.org/2009/xmldsig11# http://www.w3.org/TR/2013/REC-xmldsig-core1-20130411/xmldsig11-schema.xsd
        http://www.w3.org/2001/04/xmlenc# http://www.w3.org/TR/xmlenc-core/xenc-schema.xsd
        http://www.w3.org/2009/xmlenc11# http://www.w3.org/TR/2013/REC-xmlenc-core1-20130411/xenc-schema-11.xsd">
 
    <!-- Metadaten der Testföderation -->
    <MetadataProvider id="dfn_aai_test"
            xsi:type="FileBackedHTTPMetadataProvider"
            backingFile="%{idp.home}/metadata/dfn-aai-test-metadata.xml"
            metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-test-metadata.xml"
            maxRefreshDelay="PT2H">
        <MetadataFilter xsi:type="SignatureValidation"
            requireSignedRoot="true"
            certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
        <MetadataFilter xsi:type="EntityRole">
            <RetainedRole>md:SPSSODescriptor</RetainedRole>
        </MetadataFilter>
    </MetadataProvider>
 
    <!-- Metadaten aller SPs der DFN-AAI Produktivföderation -->
    <MetadataProvider id="dfn_aai"
            xsi:type="FileBackedHTTPMetadataProvider"
            backingFile="%{idp.home}/metadata/dfn-aai-sp-metadata.xml"
            metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-sp-metadata.xml"
            maxRefreshDelay="PT2H">
        <MetadataFilter xsi:type="SignatureValidation"
            requireSignedRoot="true"
            certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
    </MetadataProvider>
 
</MetadataProvider>

Laden Sie das Servlet neu, um die neuen Einstellungen zu aktivieren (Logdateien mitverfolgen!):

root@idp:~# touch /opt/shibboleth-idp/war/idp.war

Metadatenabruf hinter Proxy

So konfigurieren Sie einen Metadata-Provider, wenn Ihr IdP durch einen Proxy geleitet wird:

./conf/metadata-providers.xml
    <MetadataProvider id="dfn_aai_test"
            xsi:type="FileBackedHTTPMetadataProvider"
            backingFile="%{idp.home}/metadata/dfn-aai-test-metadata.xml"
            metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-test-metadata.xml"
            maxRefreshDelay="PT2H"
            proxyHost="myproxy.example.local"
            proxyPort="0815">
        <MetadataFilter xsi:type="SignatureValidation"
            requireSignedRoot="true"
            certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
        <MetadataFilter xsi:type="EntityRole">
            <RetainedRole>md:SPSSODescriptor</RetainedRole>
        </MetadataFilter>
    </MetadataProvider>