Shibboleth IdP Probe
Probe a Shibboleth IdP deployment to determine software version
Installation
Download the dependent Bash Library source, change directory to the source directory, and install the source into /tmp
as follows:
$ export BIN_DIR=/tmp/bin
$ export LIB_DIR=/tmp/lib
$ ./install.sh $BIN_DIR $LIB_DIR
or install into your home directory:
$ export BIN_DIR=$HOME/bin
$ export LIB_DIR=$HOME/lib
$ ./install.sh $BIN_DIR $LIB_DIR
A target directory will be created if one doesn't already exist. The following files will be installed:
$ ls -1 $BIN_DIR
cget.sh
$ ls -1 $LIB_DIR
compatible_date.sh
config_tools.sh
core_lib.sh
entity_endpoints_txt.xsl
entity_identifiers_txt.xsl
entity_idp_names_txt.xsl
extract_entity.xsl
http_tools.sh
md_tools.sh
saml_tools.sh
Next download the Shibboleth IdP Probe project source, change directory to the source directory, and install the source on top of the previous installation:
$ ./install.sh $BIN_DIR $LIB_DIR
The following files will be installed:
$ ls -1 $BIN_DIR
cget.sh
list_local_shib_idps.sh
probe_shib_idps.sh
summarize_global_shib_idps.sh
$ ls -1 $LIB_DIR
command_paths.sh
compatible_date.sh
compatible_mktemp.sh
config_tools.sh
entityIDs_IdP_list_txt.xsl
entity_endpoints_txt.xsl
entity_identifiers_txt.xsl
entity_idp_names_txt.xsl
extract_IdP_entityIDs.xsl
extract_IdP_names.xsl
extract_InCommon_IdP_entityIDs.xsl
extract_entity.xsl
http_tools.sh
md_tools.sh
saml_tools.sh
Overview
Given a list of entityIDs and a metadata source, bash script probe_shib_idps.sh
probes each entity and determines which of the entityIDs correspond to Shibboleth IdP deployments. For each such deployment, the script determines whether it is based on Shibboleth IdP V2 or V3 software. For example:
# The base URL of a Metadata Query Server
$ export MDQ_BASE_URL=http://mdq-beta.incommon.org/global
# The entityID of a Shibboleth IdP
$ id=urn:mace:incommon:internet2.edu
# Using metadata from the MDQ server, probe the Shibboleth IdP
$ $BIN_DIR/probe_shib_idps.sh $id
0 redirects:0;response:404;dns:0.530;tcp:0.563;ssl:0.726;total:0.753 https://origin.internet2.edu/idp/profile/Status SHIB3
See the inline help file for details:
$ $BIN_DIR/probe_shib_idps.sh -h
For additional documentation, including numerous examples, see the Shibboleth IdP Probe topic in the Shibboleth wiki.
Compatibility
The bash scripts are compatible with both GNU/Linux and Mac OS. The XSLT scripts are written in XSLT 1.0.