Git init
[external/xmlsec1.git] / docs / api / xmlsec-notes-new-crypto-functions.html
1 <html>
2 <head>
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 {
11     background: #eeeeee;
12     border: solid 1px #aaaaaa;
13     padding: 0.5em;
14 }
15 .programlisting {
16     background: #eeeeff;
17     border: solid 1px #aaaaff;
18     padding: 0.5em;
19 }
20 .variablelist {
21     padding: 4px;
22     margin-left: 3em;
23 }
24 .navigation {
25     background: #ffeeee;
26     border: solid 1px #ffaaaa;
27     margin-top: 0.5em;
28     margin-bottom: 0.5em;
29 }
30 .navigation a {
31     color: #770000;
32 }
33 .navigation a:visited {
34     color: #550000;
35 }
36 .navigation .title {
37     font-size: 200%;
38 }</style>
39 </head>
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>
43 <ul>
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>
48 <ul>
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>
53 </ul>
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>
62 </ul>
63 <table width="100%">
64 <tr>
65 <td width="15"></td>
66 <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
67 </tr>
68 <tr>
69 <td width="15"></td>
70 <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
71 </tr>
72 <tr>
73 <td width="15"></td>
74 <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
75 </tr>
76 <!--Links - start--><!--Links - end-->
77 </table>
78 </td>
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>
86 </tr></table>
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-&lt;crypto&gt; 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.
98         </p>
99 <p>     In order to build xmlsec command line utility, the 
100         "xmlsec-&lt;crypto&gt;" 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-&lt;crypto&gt;" library, you should consider
104         doing so (if possible) to simplify testing (thru xmlsec command line
105         utility) and application development.
106         </p>
107 <p>     In adition to xmlSecCryptoApp* functions, the xmlsec-&lt;crypto&gt;
108         library MUST implement following xmlSecCrypto* functions:
109         </p>
110 <div class="TABLE">
111 <a name="AEN540"></a><p><b>Table 1. xmlSecCrypto* functions.</b></p>
112 <table border="1" class="CALSTABLE">
113 <col>
114 <col>
115 <tbody>
116 <tr>
117 <td>xmlSecCryptoInit()</td>
118 <td>Initializes xmlsec-&lt;crypto&gt; 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.
124         </td>
125 </tr>
126 <tr>
127 <td>xmlSecCryptoShutdown()</td>
128 <td>Shuts down xmlsec-&lt;crypto&gt; 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.
133         </td>
134 </tr>
135 <tr>
136 <td>xmlSecCryptoKeysMngrInit()</td>
137 <td>Adds keys stores implemented by the xmlsec-&lt;crypto&gt; library
138         to the keys manager object.
139         </td>
140 </tr>
141 </tbody>
142 </table>
143 </div>
144         </div>
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>&lt;&lt;&lt; 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. &gt;&gt;&gt;</b></a></td>
148 </tr></table>
149 </td></tr></table></td>
150 </tr></table></body>
151 </html>