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