- Home
- Download

- GitHub

- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature
- XML Encryption
- XML Canonicalization
- Reporting Bugs
- Mailing list
- Related
- Authors

# Download

## Stable releases

The latest stable XML Security Library version is 1.3.9:

- Sources and signature for the latest version (Coverity report).
- WIN64 binaries for XMLSec Library (as well as LibXML2, LibXSLT and OpenSSL).
- XMLSec Library is included as part of Debian GNU/Linux. For more information see the coordination page.
- XMLSec Library FreeBSD and OpenBSD ports.

The previous releases are also available.

The releases signature key fingerprint is: `00FD D6A7 DFB8 1C88 F34B 9BF0 E63E CDEF 9E1D 829E` (how to verify release tarball signature).

## Source code on GitHub

XML Security Library source code is available on GitHub.

## Requirements

The XML Security Library requires LibXML library, LibXSLT library (optional) and one of the following cryptographic libraries:

XMLSec library | Cryptographic library | Supported formats | Notes
--- | --- | --- | ---

xmlsec-openssl

- OpenSSL 3.0.0 or above is strongly recommended.
- LibreSSL (3.5 or above) and BoringSSL (1.1.0 or above) should work but your mileage may vary as those libraries tend to change API / ABI and break backward compaibility.

- Private keys: pkcs12, pkcs8 (pem/der), unencrypted keys (pem/der)
- Public keys: x509 certificates (pem/der), standalone keys (pem/der)
- x509 certificates: pem/der
- x509 CRLs: pem/der

- xmlsec-openssl with OpenSSL 3.0.0 or greater is recommended (supports all REQUIRED and all RECOMMENDED XML Digital Signature 1.1 and XML Encryption 1.1 algorithms).
- BoringSSL API is unstable and the latest versions might not work with XMLSec Library.

xmlsec-gnutls

GnuTLS 3.6.13 or above

- Private keys: pkcs12, pkcs8 (pem/der), unencrypted keys (pem/der)
- Public keys: x509 certificates (pem/der), standalone keys (pem/der)

Supports multiple cryptographic backends, the exact features set for xmlsec-gnutls depends on the backend in use.

xmlsec-nss

NSS (Mozilla cryptographic library) 3.35 or above

- Private keys: pkcs12
- Public keys: x509 certificates (pem/der), standalone keys (der)
- x509 certificates: pem/der
- x509 CRLs: der

Requires NSPR 4.25.0 or above

xmlsec-mscng

Microsoft Cryptography API: Next Generation (requires Windows 7, Windows Server 2008 R2, or above)

- Private keys: pkcs12
- Public keys: x509 certificates (der)
- x509 certificates: der
- x509 CRLs: none

xmlsec-mscng is the recommended version on Windows platform.

xmlsec-mscrypto

Microsoft CryptogAPI: (MSCrypto) (requires Windows XP, Windows Server 2003, or above)

- Private keys: pkcs12
- Public keys: x509 certificates (der)
- x509 certificates: der
- x509 CRLs: none

In maintenance mode starting from xmlsec 1.3.0, April 2023.

xmlsec-gcrypt

LibGCrypt 1.4.0 or above

- Private keys: limited unencrypted keys (der)
- Public keys: limited standalone keys (der)
- x509 certificates: none
- x509 CRLs: none

Limited functionality without built-in x509 certificates support in LibGCrypt. In maintenance mode starting from xmlsec 1.3.0, April 2023.

The XML Digital Signature Interoperability report and XML Encryption Interoperability report provide detailed information about the features supported by each library.

## Build and install

All steps are the usual Unix/Linux build steps (see readme file in `xmlsec-<version>/win32` folder for Windows instructions):

> `gunzip -c xmlsec-<version>.tar.gz | tar xvf -
> cd xmlsec-<version>
> mkdir build
> cd build
> ../configure --help
> ../configure [configure options]
> make
> make check
> make install
> `

## Other languages

- Python xmlsec module
- Perl LibXML-Sec module