1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>Qt Cryptographic Architecture: QCA::CMS 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.4.6 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
12
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
13
<li><a href="files.html"><span>Files</span></a></li>
14
<li><a href="dirs.html"><span>Directories</span></a></li>
15
<li><a href="pages.html"><span>Related Pages</span></a></li>
16
<li><a href="examples.html"><span>Examples</span></a></li>
20
<li><a href="annotated.html"><span>Class List</span></a></li>
21
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
22
<li><a href="functions.html"><span>Class Members</span></a></li>
25
<a class="el" href="namespaceQCA.html">QCA</a>::<a class="el" href="classQCA_1_1CMS.html">CMS</a></div>
26
<h1>QCA::CMS Class Reference</h1><!-- doxytag: class="QCA::CMS" --><!-- doxytag: inherits="QCA::SecureMessageSystem" -->Cryptographic Message Syntax messaging system.
27
<a href="#_details">More...</a>
29
<code>#include <<a class="el" href="qca__securemessage_8h-source.html">QtCrypto</a>></code>
31
<p>Inheritance diagram for QCA::CMS:
32
<p><center><img src="classQCA_1_1CMS.png" usemap="#QCA::CMS_map" border="0" alt=""></center>
33
<map name="QCA::CMS_map">
34
<area href="classQCA_1_1SecureMessageSystem.html" alt="QCA::SecureMessageSystem" shape="rect" coords="94,56,272,80">
35
<area doxygen="qt.tag:" href="qobject.html" alt="QObject" shape="rect" coords="0,0,178,24">
36
<area href="classQCA_1_1Algorithm.html" alt="QCA::Algorithm" shape="rect" coords="188,0,366,24">
38
Collaboration diagram for QCA::CMS:<p><center><img src="classQCA_1_1CMS__coll__graph.png" border="0" usemap="#QCA_1_1CMS__coll__map" alt="Collaboration graph"></center>
39
<map name="QCA_1_1CMS__coll__map">
40
<area href="classQCA_1_1SecureMessageSystem.html" shape="rect" coords="8,177,205,201" alt="">
41
<area doxygen="qt.tag:" href="qobject.html" shape="rect" coords="56,99,125,123" alt="">
42
<area href="classQCA_1_1Algorithm.html" shape="rect" coords="149,99,264,123" alt="">
43
<area doxygen="qt.tag:" href="qshareddatapointer.html" shape="rect" coords="102,9,310,33" alt="">
45
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classQCA_1_1CMS-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
47
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
48
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#231c36085c27f2fc75580f0d78da404b">CMS</a> (<a class="elRef" doxygen="qt.tag:" href="qobject.html">QObject</a> *<a class="elRef" doxygen="qt.tag:" href="qobject.html#a655461eccb9740e4a07928a1e593cdf">parent</a>=0, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &provider=<a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a>())</td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#846cad093412d028868ea211f2fbf569">trustedCertificates</a> () const </td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#11f81dd7079fe845578bbd4c2b6d6e6e">untrustedCertificates</a> () const </td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="qt.tag:" href="qlist.html">SecureMessageKeyList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#ed622d68c923c94ff65c98dadb7e5ab6">privateKeys</a> () const </td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#72978522a37c4d36dd92118cfdbf84d5">setTrustedCertificates</a> (const <a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> &trusted)</td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#9f7c0ffd95a5927cb17de98d7f3c90a6">setUntrustedCertificates</a> (const <a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> &untrusted)</td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1CMS.html#fa50aabcbeec2ab9058db0e188627019">setPrivateKeys</a> (const <a class="elRef" doxygen="qt.tag:" href="qlist.html">SecureMessageKeyList</a> &keys)</td></tr>
63
<hr><a name="_details"></a><h2>Detailed Description</h2>
64
Cryptographic Message Syntax messaging system.
66
Cryptographic Message Syntax (CMS) "is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. The CMS describes an encapsulation syntax for data protection. It supports digital signatures and encryption. The syntax allows multiple encapsulations; one encapsulation envelope can be nested inside another. Likewise, one party can digitally sign some previously encapsulated data. It also allows arbitrary attributes, such as signing time, to be signed along with the message content, and provides for other attributes such as countersignatures to be associated with a signature." (from <a href="http://www.ietf.org/rfc/rfc3852.txt">RFC3852</a> "Cryptographic Message Syntax")<p>
67
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classQCA_1_1SecureMessage.html">SecureMessage</a> <p>
68
<a class="el" href="classQCA_1_1SecureMessageKey.html">SecureMessageKey</a> </dd></dl>
69
<dl compact><dt><b>Examples: </b></dt><dd>
72
<a class="el" href="cmsexample_8cpp-example.html#_a73">cmsexample.cpp</a>, and <a class="el" href="publickeyexample_8cpp-example.html#_a193">publickeyexample.cpp</a>.</dl>
74
<hr><h2>Constructor & Destructor Documentation</h2>
75
<a class="anchor" name="231c36085c27f2fc75580f0d78da404b"></a><!-- doxytag: member="QCA::CMS::CMS" ref="231c36085c27f2fc75580f0d78da404b" args="(QObject *parent=0, const QString &provider=QString())" --><p>
76
<table class="mdTable" cellpadding="2" cellspacing="0">
79
<table cellpadding="0" cellspacing="0" border="0">
81
<td class="md" nowrap valign="top">QCA::CMS::CMS </td>
82
<td class="md" valign="top">( </td>
83
<td class="md" nowrap valign="top"><a class="elRef" doxygen="qt.tag:" href="qobject.html">QObject</a> * </td>
84
<td class="mdname" nowrap> <em>parent</em> = <code>0</code>, </td>
87
<td class="md" nowrap align="right"></td>
89
<td class="md" nowrap>const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
90
<td class="mdname" nowrap> <em>provider</em> = <code><a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a>()</code></td>
94
<td class="md">) </td>
95
<td class="md" colspan="2"><code> [explicit]</code></td>
101
<table cellspacing="5" cellpadding="0" border="0">
109
Standard constructor.
111
<dl compact><dt><b>Parameters:</b></dt><dd>
112
<table border="0" cellspacing="2" cellpadding="0">
113
<tr><td valign="top"></td><td valign="top"><em>parent</em> </td><td>the parent object for this object </td></tr>
114
<tr><td valign="top"></td><td valign="top"><em>provider</em> </td><td>the provider to use, if a specific provider is required </td></tr>
120
<hr><h2>Member Function Documentation</h2>
121
<a class="anchor" name="846cad093412d028868ea211f2fbf569"></a><!-- doxytag: member="QCA::CMS::trustedCertificates" ref="846cad093412d028868ea211f2fbf569" args="() const " --><p>
122
<table class="mdTable" cellpadding="2" cellspacing="0">
125
<table cellpadding="0" cellspacing="0" border="0">
127
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> QCA::CMS::trustedCertificates </td>
128
<td class="md" valign="top">( </td>
129
<td class="mdname1" valign="top" nowrap> </td>
130
<td class="md" valign="top"> ) </td>
131
<td class="md" nowrap> const</td>
137
<table cellspacing="5" cellpadding="0" border="0">
145
Return the trusted certificates set for this object.
150
<a class="anchor" name="11f81dd7079fe845578bbd4c2b6d6e6e"></a><!-- doxytag: member="QCA::CMS::untrustedCertificates" ref="11f81dd7079fe845578bbd4c2b6d6e6e" args="() const " --><p>
151
<table class="mdTable" cellpadding="2" cellspacing="0">
154
<table cellpadding="0" cellspacing="0" border="0">
156
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> QCA::CMS::untrustedCertificates </td>
157
<td class="md" valign="top">( </td>
158
<td class="mdname1" valign="top" nowrap> </td>
159
<td class="md" valign="top"> ) </td>
160
<td class="md" nowrap> const</td>
166
<table cellspacing="5" cellpadding="0" border="0">
174
Return the untrusted certificates set for this object.
179
<a class="anchor" name="ed622d68c923c94ff65c98dadb7e5ab6"></a><!-- doxytag: member="QCA::CMS::privateKeys" ref="ed622d68c923c94ff65c98dadb7e5ab6" args="() const " --><p>
180
<table class="mdTable" cellpadding="2" cellspacing="0">
183
<table cellpadding="0" cellspacing="0" border="0">
185
<td class="md" nowrap valign="top"><a class="elRef" doxygen="qt.tag:" href="qlist.html">SecureMessageKeyList</a> QCA::CMS::privateKeys </td>
186
<td class="md" valign="top">( </td>
187
<td class="mdname1" valign="top" nowrap> </td>
188
<td class="md" valign="top"> ) </td>
189
<td class="md" nowrap> const</td>
195
<table cellspacing="5" cellpadding="0" border="0">
203
Return the private keys set for this object.
208
<a class="anchor" name="72978522a37c4d36dd92118cfdbf84d5"></a><!-- doxytag: member="QCA::CMS::setTrustedCertificates" ref="72978522a37c4d36dd92118cfdbf84d5" args="(const CertificateCollection &trusted)" --><p>
209
<table class="mdTable" cellpadding="2" cellspacing="0">
212
<table cellpadding="0" cellspacing="0" border="0">
214
<td class="md" nowrap valign="top">void QCA::CMS::setTrustedCertificates </td>
215
<td class="md" valign="top">( </td>
216
<td class="md" nowrap valign="top">const <a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> & </td>
217
<td class="mdname1" valign="top" nowrap> <em>trusted</em> </td>
218
<td class="md" valign="top"> ) </td>
219
<td class="md" nowrap></td>
225
<table cellspacing="5" cellpadding="0" border="0">
233
Set the trusted certificates to use for the messages built using this <a class="el" href="classQCA_1_1CMS.html">CMS</a> object.
235
<dl compact><dt><b>Parameters:</b></dt><dd>
236
<table border="0" cellspacing="2" cellpadding="0">
237
<tr><td valign="top"></td><td valign="top"><em>trusted</em> </td><td>the collection of trusted certificates to use </td></tr>
243
<a class="anchor" name="9f7c0ffd95a5927cb17de98d7f3c90a6"></a><!-- doxytag: member="QCA::CMS::setUntrustedCertificates" ref="9f7c0ffd95a5927cb17de98d7f3c90a6" args="(const CertificateCollection &untrusted)" --><p>
244
<table class="mdTable" cellpadding="2" cellspacing="0">
247
<table cellpadding="0" cellspacing="0" border="0">
249
<td class="md" nowrap valign="top">void QCA::CMS::setUntrustedCertificates </td>
250
<td class="md" valign="top">( </td>
251
<td class="md" nowrap valign="top">const <a class="el" href="classQCA_1_1CertificateCollection.html">CertificateCollection</a> & </td>
252
<td class="mdname1" valign="top" nowrap> <em>untrusted</em> </td>
253
<td class="md" valign="top"> ) </td>
254
<td class="md" nowrap></td>
260
<table cellspacing="5" cellpadding="0" border="0">
268
Set the untrusted certificates to use for the messages built using this <a class="el" href="classQCA_1_1CMS.html">CMS</a> object.
270
This function is useful when verifying messages that don't contain the certificates (or intermediate signers) within the <a class="el" href="classQCA_1_1CMS.html">CMS</a> blob. In order to verify such messages, you'll have to pass the possible signer certs with this function.<p>
271
<dl compact><dt><b>Parameters:</b></dt><dd>
272
<table border="0" cellspacing="2" cellpadding="0">
273
<tr><td valign="top"></td><td valign="top"><em>untrusted</em> </td><td>the collection of untrusted certificates to use </td></tr>
279
<a class="anchor" name="fa50aabcbeec2ab9058db0e188627019"></a><!-- doxytag: member="QCA::CMS::setPrivateKeys" ref="fa50aabcbeec2ab9058db0e188627019" args="(const SecureMessageKeyList &keys)" --><p>
280
<table class="mdTable" cellpadding="2" cellspacing="0">
283
<table cellpadding="0" cellspacing="0" border="0">
285
<td class="md" nowrap valign="top">void QCA::CMS::setPrivateKeys </td>
286
<td class="md" valign="top">( </td>
287
<td class="md" nowrap valign="top">const <a class="elRef" doxygen="qt.tag:" href="qlist.html">SecureMessageKeyList</a> & </td>
288
<td class="mdname1" valign="top" nowrap> <em>keys</em> </td>
289
<td class="md" valign="top"> ) </td>
290
<td class="md" nowrap></td>
296
<table cellspacing="5" cellpadding="0" border="0">
304
Set the private keys to use for the messages built using this <a class="el" href="classQCA_1_1CMS.html">CMS</a> object.
306
Keys are required for decrypting and signing (not for encrypting or verifying).<p>
307
<dl compact><dt><b>Parameters:</b></dt><dd>
308
<table border="0" cellspacing="2" cellpadding="0">
309
<tr><td valign="top"></td><td valign="top"><em>keys</em> </td><td>the collection of keys to use </td></tr>
312
<dl compact><dt><b>Examples: </b></dt><dd>
313
<a class="el" href="cmsexample_8cpp-example.html#a82">cmsexample.cpp</a>.</dl> </td>
316
<hr>The documentation for this class was generated from the following file:<ul>
317
<li><a class="el" href="qca__securemessage_8h-source.html">qca_securemessage.h</a></ul>
318
<hr size="1"><address style="align: right;"><small>Generated on Fri Jul 6 13:24:24 2007 for Qt Cryptographic Architecture by
319
<a href="http://www.doxygen.org/index.html">
320
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>