SF Project

Release Info

Known Issues
Build Instructions

API Docs

Project has Moved

The XML-Security-C project has moved to the Apache Software Foundation's XML-Security project.

Please see the Apache XML website for updated versions of the library.


The XML-Security-C project aims to create a cross platform C++ library for securing XML format information in accordance with the W3C Digital Signature and Encryption standards. The library is based on the Apache Software Foundation's Xerces-C++ and Xalan-C libraries, providing a stable base for developers to build upon.

Encryption functionality is initially provided using the OpenSSL cryptographic libraries. However the library is being built with an abstraction layer to provide the capability to integrate with other cryptographic providers in the future. A Windows CAPI module is also planned.

Current Status

The project is in the beta stage on Sourceforge. A "Proof of concept" was initally created that demonstrated the validation of a reasonably complex test vector that uses most of the transformations required for the XML Digital Signature standard.

A number of beta versions have been released since the proof of concept was created. The current version is 0.0.3 and now has a reasonably complete API that can be used to sign and validate DSIG compliant signature blocks. The API also now allows programmers to build a signature structure from scratch using calls to the library. As the signature is created it builds the corresponding DOM structures in the document being signed.

The first release will implement the mandatory and suggested features of the XML Digital Signature standard, including :

  • DSA Signing and verification
  • HMAC SHA1 Signing and verification
  • Canonical XML Transformation
  • Exclusive Canonical XML Transformation
  • XPath Transformation (including enveloping signatures)
  • XSLT Transformation

These features are implemented in the current beta version. The work now is concentrated on stablising the code.


Links are provided below to the various standards and sites referenced in this documentation.


For further information please contact Berin Lautenbach ( Logo
Copyright © Berin Lautenbach. All Rights Reserved.