Skip to content
Probe a Shibboleth IdP deployment to determine software version
Shell XSLT
Branch: master
Clone or download
Tom Scavo
Latest commit 9c2ddcb Apr 24, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Migrate to core lib Apr 24, 2017
lib Handle nested EntitiesDescriptor elements Mar 26, 2017
README.md Update file lists in README.md Apr 24, 2017
install.sh Implement wrapper around XSLT script Mar 26, 2017

README.md

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.

Dependencies

You can’t perform that action at this time.