The Shibboleth V1 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only.
UpgradeIdP
Upgrading an existing !IdP
Upgrading an !IdP from 1.2 to 1.3
!IdP Configuration Files
In Shib1.2, all !IdP configuration files were stored with the .war in WEB_INF/classes/conf
. Beginning in Shib1.3, all configuration and logging is stored outside the .war in a location specified during installation (hereafter referred to as IDP_HOME). origin.xml
has been renamed to idp.xml
and has seen several changes its schema -- see the IdP Configuration Guide for more information. Any resolver and ARP configurations that worked in Shib1.2 should also work in 1.3.
Protocol Handlers
Shibboleth 1.3 includes a significant change in how the !IdP responds to requests. Protocol Handlers are now defined and mapped to URLs in idp.xml, and must be tweaked a little to provide a seamless upgrade to 1.3. There are two basic ways to go about this -- change your configuration to match your old metadata, or update your metadata to match the new defaults.
Change configuration
- Locate the ProtocolHandler statements at the bottom of
IDP_HOME/etc/idp.xml
and edit the locations to match your metadata. For example, you'll likely need to change the webapp name to something other than 'shibboleth-idp' (probably just 'shibboleth'). - The Handle Service is now the SSO Protocol Handler, so you will need to change the location from
[...]/shibboleth-idp/SSO
to your Handle Service URL (probably =[...]/shibboleth/HS=) - Finally, you must also edit the servlet mappings. Open
WEB-INF/web.xml
and change the url-pattern for SSO to/HS
. Whenever you upgrade Shibboleth in the future, this file will be overwritten and you will need to make this change again.
Update metadata
Methods for updating metadata will differ between federations.
Gotchas
If in addition you have upgraded tomcat to tomcat 5.5 you will also have to add request.tomcatAuthentication="false" in the AJP connector segment of the server.xml, this is new in tomcat 5.5, in 5.0 tomcat was told not to take external authentication by configuration in the workers.properties file.
Also when dealing with service providers who are not upgraded to 1.3 you will have to add a
schemaHack="true" attribute to the appropriate RelyingParty elements in your idp.xml file or you send out attributes in a format the old service providers don't understand
e.g. my relying pary element for the sdss fed now looks like
<RelyingParty name="urn:mace:ac.uk:sdss.ac.uk:federation:sdss" schemaHack="true" providerId="urn:mace:ac.uk:sdss.ac.uk:provider:identity:lock.ncl.ac.uk" signingCredential="sdss_cred">... </RelyingParty>
Upgrading a 1.3 !IdP
As of Shibboleth 1.3, the !IdP by default has been installed with the configuration files stored outside the web application itself. This structure makes upgrades of Shibboleth extremely straightforward; however, future versions of Shibboleth may have modified prerequisites which should always be considered when updating(e.g. Java 1.3 will likely be unsupported by Shibboleth 2.0). To update an !IdP:
- Download and unpack the .tar file
- Run
./ant install
in the root of the unpacked tarball and answer the simple questions. - The ant installation script will detect the old configuration files and will not overwrite them.
- It might be necessary to delete the Tomcat webapp IdP directory (not the war file) so that it can be rebuilt correctly from the new war file. Be aware of your site customizations if applicable.Â
- Reboot Tomcat.
%COMMENT%