CILogon is retiring our X.509 certificate services. See CILogon X.509 Certificate Retirement Plan for details.
ECP stands for "Enhanced Client or Proxy", a SAML v.2.0 profile which allows for the exchange of SAML attributes outside the context of a web browser. Thus, ECP can be very useful for non-browser cyberinfrastructure applications (command-line, thick-client, etc.). Below are a few links describing the ECP profile in detail.
SAML V.2.0 Profile (See Section 4.2-"Enhanced Client or Proxy (ECP) Profile")
To enable ECP in your Shibboleth IdP installation, see:
In the ECP profile, both the Service Provider (SP) and the Identity Provider (IdP) must understand the ECP SOAP/PAOS binding. The CILogon Service Provider supports fetching an end-user X.509 certificate using any InCommon-member ECP-enabled IdP.
Note that your IdP must release the attributes required by CILogon for you to obtain a certificate. Please test that your IdP is releasing the needed attributes by visiting https://cilogon.org/testidp/.
ECP at Fermilab
ECP for LIGO
CILogon's ecp.pl script
Below is a Perl script which can fetch a certificate or PKCS12 credential from the CILogon Service.
ecp.pl - Fetch a certificate from the CILogon Service via ECP
This Perl script can be run interactively (where the user will be prompted for all information) or in batch mode (by the use of command line options). Run "ecp.pl -h" to see usage information.
The script relies on several Perl packages, all of which are available in CPAN or via the package manager for your O/S. If you receive an error message about SSL and Certificate Authorities, you may also need to install the Mozilla::CA Perl module. For example:
The script also requires OpenSSL. If you have installed the openssl binary in a location other than /usr/bin/openssl, you will need to modify the script to point to the location of openssl on your system.
The following transcript demonstrates how to use the ecp.pl script to obtain a short-lived (12 hour) certificate from CILogon on the command-line.
The following transcript demonstrates how to use the ecp.pl script to obtain short-lived (12 hour) credentials for use with the Globus Toolkit.
The above example also illustrates how to specify your virtual organization and identity provider on the command-line.
The following sequence diagram illustrates the network protocol used for CILogon's ECP support. The ecp.pl command-line interface performs HTTP Basic authentication (username/password) with the chosen SAML identity provider (IdP) to obtain a SAML authentication assertion for use with CILogon. CILogon never sees the user's password.
A Basic ECP IdP Test Script
The testecp.sh script (modified from the original at shibboleth.net) provides a basic test for a SAML ECP enabled identity provider. Simply modify the parameters at the top of the script to match your identity provider and service provider configuration. To test your service provider using ProtectNetwork's IdP, you must first register your SP with ProtectNetwork.