Adding support for new cryptographic library.

Overview.
Creating a framework from the skeleton.
xmlSecCryptoApp* functions.
Klasses and objects.
Cryptographic transforms.
Keys data and keys data stores.
Default keys manager.
Sharing the results.

Overview.

XML Security Library can support practicaly any cryptographic library. Currently, it has "out-of-the-box" support for OpenSSL, MSCrypto, NSS, GnuTLS and GCrypt. If your favorite library is not supported yet then you can write necessary code yourself. If you and your company (university, ...) are willing to share the results of your work I would be happy to add support for new libraries to the main XML Security Library distribution.

The XML Security Library separates the cryptographic library (engine) specific code in an "xmlsec-<crypto>" library (where "<crypto>" is "openssl", "mscrypt", "gnutls", "gcrypt", "nss", etc.) which includes following items:

  • xmlSecCryptoApp* functions.

  • Cryptographic transforms and keys data implementation.

  • Keys store support (X509, PGP, etc.).

In this chapter, we will discuss a task of creating "xmlsec-mycrypto" library that provides support for your favorite "MyCrypto" cryptographic library.