1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>Qt Cryptographic Architecture: QCA::CAContext Class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.2 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
12
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
<li><a href="files.html"><span>Files</span></a></li>
15
<li><a href="dirs.html"><span>Directories</span></a></li>
16
<li><a href="pages.html"><span>Related Pages</span></a></li>
17
<li><a href="examples.html"><span>Examples</span></a></li>
22
<li><a href="annotated.html"><span>Class List</span></a></li>
23
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
24
<li><a href="functions.html"><span>Class Members</span></a></li>
28
<a class="el" href="namespaceQCA.html">QCA</a>::<a class="el" href="classQCA_1_1CAContext.html">CAContext</a></div>
29
<h1>QCA::CAContext Class Reference<br>
31
[<a class="el" href="group__ProviderAPI.html">QCA provider API</a>]</small>
32
</h1><!-- doxytag: class="QCA::CAContext" --><!-- doxytag: inherits="QCA::BasicContext" -->X.509 certificate authority provider.
33
<a href="#_details">More...</a>
35
<code>#include <<a class="el" href="qcaprovider_8h-source.html">QtCrypto</a>></code>
37
<p>Inheritance diagram for QCA::CAContext:
38
<p><center><img src="classQCA_1_1CAContext.png" usemap="#QCA::CAContext_map" border="0" alt=""></center>
39
<map name="QCA::CAContext_map">
40
<area href="classQCA_1_1BasicContext.html" alt="QCA::BasicContext" shape="rect" coords="0,56,143,80">
41
<area href="classQCA_1_1Provider_1_1Context.html" alt="QCA::Provider::Context" shape="rect" coords="0,0,143,24">
43
Collaboration diagram for QCA::CAContext:<p><center><img src="classQCA_1_1CAContext__coll__graph.png" border="0" usemap="#QCA_1_1CAContext__coll__map" alt="Collaboration graph"></center>
44
<map name="QCA_1_1CAContext__coll__map">
45
<area shape="rect" href="classQCA_1_1BasicContext.html" title="Base class to use for primitive provider contexts." alt="" coords="20,84,175,111"><area shape="rect" href="classQCA_1_1Provider_1_1Context.html" title="Internal context class used for the plugin." alt="" coords="5,7,189,33"></map>
46
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classQCA_1_1CAContext-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
48
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#2bd5a0cfb3bc76eee011654c921ceaa4">CAContext</a> (<a class="el" href="classQCA_1_1Provider.html">Provider</a> *p)</td></tr>
51
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1CertContext.html">CertContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#3926dd2d8e45bb321a86012f211af8fe">certificate</a> () const=0</td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1CertContext.html">CertContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#16b33474f6e24fb80bc42c370624c252">createCertificate</a> (const <a class="el" href="classQCA_1_1PKeyContext.html">PKeyContext</a> &pub, const <a class="el" href="classQCA_1_1CertificateOptions.html">CertificateOptions</a> &opts) const=0</td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1CRLContext.html">CRLContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#e662e15495a4cc8d6cabe464ff88a0a3">createCRL</a> (const <a class="elRef" doxygen="qt.tag:" href="qdatetime.html">QDateTime</a> &nextUpdate) const=0</td></tr>
57
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#d571d5513ad81f6a228b0a7fba363785">setup</a> (const <a class="el" href="classQCA_1_1CertContext.html">CertContext</a> &cert, const <a class="el" href="classQCA_1_1PKeyContext.html">PKeyContext</a> &priv)=0</td></tr>
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1CertContext.html">CertContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#b21239a294d9437d329e32bb266e1740">signRequest</a> (const <a class="el" href="classQCA_1_1CSRContext.html">CSRContext</a> &req, const <a class="elRef" doxygen="qt.tag:" href="qdatetime.html">QDateTime</a> &notValidAfter) const=0</td></tr>
61
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1CRLContext.html">CRLContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CAContext.html#5cb1ab7acb9316b417bc34efd898f856">updateCRL</a> (const <a class="el" href="classQCA_1_1CRLContext.html">CRLContext</a> &crl, const <a class="elRef" doxygen="qt.tag:" href="qlist.html">QList</a>< <a class="el" href="classQCA_1_1CRLEntry.html">CRLEntry</a> > &entries, const <a class="elRef" doxygen="qt.tag:" href="qdatetime.html">QDateTime</a> &nextUpdate) const =0</td></tr>
64
<hr><a name="_details"></a><h2>Detailed Description</h2>
65
X.509 certificate authority provider.
67
<dl class="note" compact><dt><b>Note:</b></dt><dd>This class is part of the provider plugin interface and should not be used directly by applications. You probably want <a class="el" href="classQCA_1_1CertificateAuthority.html" title="A Certificate Authority is used to generate Certificates and Certificate Revocation...">CertificateAuthority</a> instead. </dd></dl>
70
<hr><h2>Constructor & Destructor Documentation</h2>
71
<a class="anchor" name="2bd5a0cfb3bc76eee011654c921ceaa4"></a><!-- doxytag: member="QCA::CAContext::CAContext" ref="2bd5a0cfb3bc76eee011654c921ceaa4" args="(Provider *p)" -->
73
<div class="memproto">
74
<table class="memname">
76
<td class="memname">QCA::CAContext::CAContext </td>
78
<td class="paramtype"><a class="el" href="classQCA_1_1Provider.html">Provider</a> * </td>
79
<td class="paramname"> <em>p</em> </td>
80
<td> ) </td>
81
<td width="100%"><code> [inline]</code></td>
90
<dl compact><dt><b>Parameters:</b></dt><dd>
91
<table border="0" cellspacing="2" cellpadding="0">
92
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the <a class="el" href="classQCA_1_1Provider.html" title="Algorithm provider.">Provider</a> associated with this context </td></tr>
98
<hr><h2>Member Function Documentation</h2>
99
<a class="anchor" name="3926dd2d8e45bb321a86012f211af8fe"></a><!-- doxytag: member="QCA::CAContext::certificate" ref="3926dd2d8e45bb321a86012f211af8fe" args="() const=0" -->
100
<div class="memitem">
101
<div class="memproto">
102
<table class="memname">
104
<td class="memname">virtual <a class="el" href="classQCA_1_1CertContext.html">CertContext</a>* QCA::CAContext::certificate </td>
106
<td class="paramname"> </td>
107
<td> ) </td>
108
<td width="100%"> const<code> [pure virtual]</code></td>
115
Returns a copy of the CA's certificate.
117
The caller is responsible for deleting it.
120
<a class="anchor" name="16b33474f6e24fb80bc42c370624c252"></a><!-- doxytag: member="QCA::CAContext::createCertificate" ref="16b33474f6e24fb80bc42c370624c252" args="(const PKeyContext &pub, const CertificateOptions &opts) const=0" -->
121
<div class="memitem">
122
<div class="memproto">
123
<table class="memname">
125
<td class="memname">virtual <a class="el" href="classQCA_1_1CertContext.html">CertContext</a>* QCA::CAContext::createCertificate </td>
127
<td class="paramtype">const <a class="el" href="classQCA_1_1PKeyContext.html">PKeyContext</a> & </td>
128
<td class="paramname"> <em>pub</em>, </td>
131
<td class="paramkey"></td>
133
<td class="paramtype">const <a class="el" href="classQCA_1_1CertificateOptions.html">CertificateOptions</a> & </td>
134
<td class="paramname"> <em>opts</em></td><td> </td>
139
<td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
146
Issue a certificate based on a public key and options, and return the certificate.
148
The caller is responsible for deleting it.<p>
149
<dl compact><dt><b>Parameters:</b></dt><dd>
150
<table border="0" cellspacing="2" cellpadding="0">
151
<tr><td valign="top"></td><td valign="top"><em>pub</em> </td><td>the public key of the certificate </td></tr>
152
<tr><td valign="top"></td><td valign="top"><em>opts</em> </td><td>the options to use for generation </td></tr>
158
<a class="anchor" name="e662e15495a4cc8d6cabe464ff88a0a3"></a><!-- doxytag: member="QCA::CAContext::createCRL" ref="e662e15495a4cc8d6cabe464ff88a0a3" args="(const QDateTime &nextUpdate) const=0" -->
159
<div class="memitem">
160
<div class="memproto">
161
<table class="memname">
163
<td class="memname">virtual <a class="el" href="classQCA_1_1CRLContext.html">CRLContext</a>* QCA::CAContext::createCRL </td>
165
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qdatetime.html">QDateTime</a> & </td>
166
<td class="paramname"> <em>nextUpdate</em> </td>
167
<td> ) </td>
168
<td width="100%"> const<code> [pure virtual]</code></td>
175
Create a new <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a> and return it.
177
The caller is responsible for deleting it.<p>
178
The <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a> has no entries in it.<p>
179
<dl compact><dt><b>Parameters:</b></dt><dd>
180
<table border="0" cellspacing="2" cellpadding="0">
181
<tr><td valign="top"></td><td valign="top"><em>nextUpdate</em> </td><td>the expiration date of the <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a> </td></tr>
187
<a class="anchor" name="d571d5513ad81f6a228b0a7fba363785"></a><!-- doxytag: member="QCA::CAContext::setup" ref="d571d5513ad81f6a228b0a7fba363785" args="(const CertContext &cert, const PKeyContext &priv)=0" -->
188
<div class="memitem">
189
<div class="memproto">
190
<table class="memname">
192
<td class="memname">virtual void QCA::CAContext::setup </td>
194
<td class="paramtype">const <a class="el" href="classQCA_1_1CertContext.html">CertContext</a> & </td>
195
<td class="paramname"> <em>cert</em>, </td>
198
<td class="paramkey"></td>
200
<td class="paramtype">const <a class="el" href="classQCA_1_1PKeyContext.html">PKeyContext</a> & </td>
201
<td class="paramname"> <em>priv</em></td><td> </td>
206
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
213
Prepare the object for usage.
215
This must be called before any CA operations are performed.<p>
216
<dl compact><dt><b>Parameters:</b></dt><dd>
217
<table border="0" cellspacing="2" cellpadding="0">
218
<tr><td valign="top"></td><td valign="top"><em>cert</em> </td><td>the certificate of the CA </td></tr>
219
<tr><td valign="top"></td><td valign="top"><em>priv</em> </td><td>the private key of the CA </td></tr>
225
<a class="anchor" name="b21239a294d9437d329e32bb266e1740"></a><!-- doxytag: member="QCA::CAContext::signRequest" ref="b21239a294d9437d329e32bb266e1740" args="(const CSRContext &req, const QDateTime &notValidAfter) const=0" -->
226
<div class="memitem">
227
<div class="memproto">
228
<table class="memname">
230
<td class="memname">virtual <a class="el" href="classQCA_1_1CertContext.html">CertContext</a>* QCA::CAContext::signRequest </td>
232
<td class="paramtype">const <a class="el" href="classQCA_1_1CSRContext.html">CSRContext</a> & </td>
233
<td class="paramname"> <em>req</em>, </td>
236
<td class="paramkey"></td>
238
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qdatetime.html">QDateTime</a> & </td>
239
<td class="paramname"> <em>notValidAfter</em></td><td> </td>
244
<td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
251
Issue a certificate based on a certificate request, and return the certificate.
253
The caller is responsible for deleting it.<p>
254
<dl compact><dt><b>Parameters:</b></dt><dd>
255
<table border="0" cellspacing="2" cellpadding="0">
256
<tr><td valign="top"></td><td valign="top"><em>req</em> </td><td>the certificate request </td></tr>
257
<tr><td valign="top"></td><td valign="top"><em>notValidAfter</em> </td><td>the expiration date </td></tr>
263
<a class="anchor" name="5cb1ab7acb9316b417bc34efd898f856"></a><!-- doxytag: member="QCA::CAContext::updateCRL" ref="5cb1ab7acb9316b417bc34efd898f856" args="(const CRLContext &crl, const QList< CRLEntry > &entries, const QDateTime &nextUpdate) const =0" -->
264
<div class="memitem">
265
<div class="memproto">
266
<table class="memname">
268
<td class="memname">virtual <a class="el" href="classQCA_1_1CRLContext.html">CRLContext</a>* QCA::CAContext::updateCRL </td>
270
<td class="paramtype">const <a class="el" href="classQCA_1_1CRLContext.html">CRLContext</a> & </td>
271
<td class="paramname"> <em>crl</em>, </td>
274
<td class="paramkey"></td>
276
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qlist.html">QList</a>< <a class="el" href="classQCA_1_1CRLEntry.html">CRLEntry</a> > & </td>
277
<td class="paramname"> <em>entries</em>, </td>
280
<td class="paramkey"></td>
282
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qdatetime.html">QDateTime</a> & </td>
283
<td class="paramname"> <em>nextUpdate</em></td><td> </td>
288
<td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
295
Update an existing <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a>, by examining an old one and creating a new one based on it.
297
The new <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a> is returned, and the caller is responsible for deleting it.<p>
298
<dl compact><dt><b>Parameters:</b></dt><dd>
299
<table border="0" cellspacing="2" cellpadding="0">
300
<tr><td valign="top"></td><td valign="top"><em>crl</em> </td><td>an existing <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a> issued by this CA </td></tr>
301
<tr><td valign="top"></td><td valign="top"><em>entries</em> </td><td>the list of revoked entries </td></tr>
302
<tr><td valign="top"></td><td valign="top"><em>nextUpdate</em> </td><td>the expiration date of the new <a class="el" href="classQCA_1_1CRL.html" title="Certificate Revocation List">CRL</a> </td></tr>
308
<hr>The documentation for this class was generated from the following file:<ul>
309
<li><a class="el" href="qcaprovider_8h-source.html">qcaprovider.h</a></ul>
310
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 6 19:14:07 2007 for Qt Cryptographic Architecture by
311
<a href="http://www.doxygen.org/index.html">
312
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>