The Incommon Federation wiki has moved.

Please visit the new InCommon Federation Library wiki for updated content. Remember to update your bookmarks.

Click in the link above if you are not automatically redirected in 15 seconds.



You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

The configuration examples here assume the latest supported versions of Shibboleth.

The Shibboleth software will not only consume metadata, it will also fetch and verify a fresh metadata file on a regular basis.

To configure a Shibboleth IdP to download and verify signed Federation metadata, do the following:

Configure the IdP
<!-- inside the ChainingMetadataProvider -->
<MetadataProvider xmlns="urn:mace:shibboleth:2.0:metadata" 
    id="ICMD" xsi:type="FileBackedHTTPMetadataProvider"
    metadataURL="http://wayf.incommonfederation.org/InCommon/InCommon-metadata.xml"
    backingFile="/opt/shibboleth-idp/metadata/InCommon-metadata.xml">
  <MetadataFilter xsi:type="ChainingFilter">
    <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="2419200" />
    <MetadataFilter xsi:type="SignatureValidation" 
        trustEngineRef="ICTrust" requireSignedMetadata="true" />
    <MetadataFilter xsi:type="EntityRoleWhiteList">
      <RetainedRole>samlmd:SPSSODescriptor</RetainedRole>
    </MetadataFilter>
  </MetadataFilter>
</MetadataProvider>

...

<!- underneath the Security Configuration section -->
<security:TrustEngine id="ICTrust" xsi:type="security:StaticExplicitKeySignature">
  <security:Credential id="MyFederation1Credentials" xsi:type="security:X509Filesystem">
    <security:Certificate>/opt/shibboleth-idp/credentials/incommon.pem</security:Certificate>
  </security:Credential>
</security:TrustEngine>

Similarly, to configure a Shibboleth SP, do the following:

Configure the SP
<MetadataProvider type="XML" 
    uri="http://wayf.incommonfederation.org/InCommon/InCommon-metadata.xml"
    backingFilePath="InCommon-metadata.xml" reloadInterval="28800">
  <!-- Verify the signing key -->
  <SignatureMetadataFilter certificate="incommon.pem"/>
  <!-- Require metadata expiration at least monthly -->
  <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
</MetadataProvider>
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels