The OpenSAML V2 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only.


Installing the Library

As OpenSAML is a library, and not an application itself, there really is no install process. Instead, simply make sure the OpenSAML jar and all its dependent libraries are in your classpath.

JAXP Endorsement

OpenSAML relies heavily on JAXP 1.3 for low-level XML parsing and creation. Some JREs, most notably Sun's, ship with horribly broken JAXP implementations. As such you may (in the Sun JRE case, you must) endorse a different JAXP provider. At the time of this writing, the only known JAXP provider to work is the Apache Xerces & Xalan projects.

Please refer to your JRE (e.g. Sun's JRE) or application container (e.g. Tomcat) documentation for information on how to endorse these libraries. For you convenience the OpenSAML project ships Xerces and Xalan in its thirdparty-lib directory.

If you are receiving this error:

Cannot resolve 'xt:DEFAULT' as a QName: the prefix 'xt' is not declared.

You have not properly endorsed a functional JAXP implementation.

Java Cryptography Extension

Cryptographic operations within the JRE are handled by the Java Cryptography Extension (JCE) system. The XML signature and encryption specifications specify a set of required and optional cryptography operations, some of which are not supported by various JRE. All of the JVMs tested (IBM, Sun's, and BEAs) support the most commonly used operations and so may work just fine for most uses cases. However, these JRE do not support the entire required operation set, and little of the optional set, so, in certain use cases, you may get unsupported algorithm exceptions.

So, we recommend installing the Bouncy Castle JCE which supports all the require operations and many of the optional ones.

Using OpenSAML in Maven-based Projects

Following is the information necessary to use OpenSAML within Maven-based projects.
Maven Repository:
Group ID: org.opensaml
Artifact ID: opensaml