3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4 <title>xmlSecCryptoApp* functions.</title>
5 <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
6 <link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
7 <link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
8 <link rel="PREVIOUS" title="Creating a framework from the skeleton." href="xmlsec-notes-new-crypto-skeleton.html">
9 <link rel="NEXT" title="Klasses and objects." href="xmlsec-notes-new-crypto-klasses.html">
10 <style type="text/css">.synopsis, .classsynopsis {
12 border: solid 1px #aaaaaa;
17 border: solid 1px #aaaaff;
26 border: solid 1px #ffaaaa;
33 .navigation a:visited {
40 <body><table witdh="100%" valign="top"><tr valign="top">
41 <td valign="top" align="left" width="210">
42 <img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
44 <li><a href="../index.html">Home</a></li>
45 <li><a href="../download.html">Download</a></li>
46 <li><a href="../news.html">News</a></li>
47 <li><a href="../documentation.html">Documentation</a></li>
49 <li><a href="../faq.html">FAQ</a></li>
50 <li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
51 <li><a href="../api/xmlsec-reference.html">API reference</a></li>
52 <li><a href="../api/xmlsec-examples.html">Examples</a></li>
54 <li><a href="../xmldsig.html">XML Digital Signature</a></li>
55 <ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
56 <li><a href="../xmlenc.html">XML Encryption</a></li>
57 <li><a href="../c14n.html">XML Canonicalization</a></li>
58 <li><a href="../bugs.html">Reporting Bugs</a></li>
59 <li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
60 <li><a href="../related.html">Related</a></li>
61 <li><a href="../authors.html">Authors</a></li>
66 <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
70 <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
74 <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
76 <!--Links - start--><!--Links - end-->
79 <td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
80 <table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
81 <td><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
82 <td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
83 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
84 <th width="100%" align="center">XML Security Library Reference Manual</th>
85 <td><a accesskey="n" href="xmlsec-notes-new-crypto-klasses.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
87 <br clear="all"><div class="SECT1">
88 <h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-FUNCTIONS">xmlSecCryptoApp* functions.</a></h1>
89 <p> The XML Security Library allows application to load multiple
90 "xmlsec-<crypto> libraries. To prevent symbol conflicts,
91 all "xmlsec-mycrypto" library names MUST start with "xmlSecMyCrypto".
92 However, in some applications (for example, the xmlsec command line
93 utility) that can use any crypto library, would prefer to
94 use a generic function names where possible.
95 The "include/xmlsec/crypto.h" and "include/xmlsec/mycrypto/symbols.h"
96 include files do the magic by mapping "xmlSecMyCrypto*" to
97 "xmlSecCrypto*" names using "XMLSEC_CRYPTO_*" defines.
99 <p> In order to build xmlsec command line utility, the
100 "xmlsec-<crypto>" library must implement several functions.
101 The stubs for all these functions are provided in the "skeleton"
102 we've created. While these functions are not required to be
103 implemented by "xmlsec-<crypto>" library, you should consider
104 doing so (if possible) to simplify testing (thru xmlsec command line
105 utility) and application development.
107 <p> In adition to xmlSecCryptoApp* functions, the xmlsec-<crypto>
108 library MUST implement following xmlSecCrypto* functions:
111 <a name="AEN540"></a><p><b>Table 1. xmlSecCrypto* functions.</b></p>
112 <table border="1" class="CALSTABLE">
117 <td>xmlSecCryptoInit()</td>
118 <td>Initializes xmlsec-<crypto> library: registers cryptographic
119 transforms implemented by the library, keys, etc.
120 Please note, that the application might want to intialize
121 the cryprographic library by itself. The default cryprographic
122 library initialization (for example, used by xmlsec utility)
123 is implemented in xmlSecCryptoAppInit() function.
127 <td>xmlSecCryptoShutdown()</td>
128 <td>Shuts down xmlsec-<crypto> library.
129 Please note, that the application might want to shutdown
130 the cryprographic library by itself. The default cryprographic
131 library shutdown (for example, used by xmlsec utility)
132 is implemented in xmlSecCryptoAppShutdown() function.
136 <td>xmlSecCryptoKeysMngrInit()</td>
137 <td>Adds keys stores implemented by the xmlsec-<crypto> library
138 to the keys manager object.
145 <table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
146 <td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><b><<< Creating a framework from the skeleton.</b></a></td>
147 <td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-klasses.html"><b>Klasses and objects. >>></b></a></td>
149 </td></tr></table></td>