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 152 153 154 155 156 157 158 159 160 161 162
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>XML-Security-C: XENCCipher.hpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">src</a> / <a class="el" href="dir_000006.html">xenc</a></div>
<h1>XENCCipher.hpp</h1><a href="XENCCipher_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
00002 <span class="comment"> * Copyright 2003-2005 The Apache Software Foundation.</span>
00003 <span class="comment"> *</span>
00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
00006 <span class="comment"> * You may obtain a copy of the License at</span>
00007 <span class="comment"> *</span>
00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
00009 <span class="comment"> *</span>
00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
00014 <span class="comment"> * limitations under the License.</span>
00015 <span class="comment"> */</span>
00016
00017 <span class="comment">/*</span>
00018 <span class="comment"> * XSEC</span>
00019 <span class="comment"> *</span>
00020 <span class="comment"> * XENCCipher := Interface definition for main encryption worker class</span>
00021 <span class="comment"> *</span>
00022 <span class="comment"> * $Id: XENCCipher.hpp,v 1.14 2005/02/03 13:58:14 milan Exp $</span>
00023 <span class="comment"> *</span>
00024 <span class="comment"> */</span>
00025
00026 <span class="preprocessor">#ifndef XENCCIPHER_INCLUDE</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define XENCCIPHER_INCLUDE</span>
00028 <span class="preprocessor"></span>
00029 <span class="comment">// XSEC Includes</span>
00030
00031 <span class="preprocessor">#include <xsec/framework/XSECDefs.hpp></span>
00032 <span class="preprocessor">#include <xsec/xenc/XENCCipherData.hpp></span>
00033 <span class="preprocessor">#include <xsec/dsig/DSIGConstants.hpp></span>
00034
00035 <span class="comment">// Xerces</span>
00036
00037 <a class="code" href="XSECDefs_8hpp.html#a5">XSEC_DECLARE_XERCES_CLASS</a>(DOMElement);
00038 <a class="code" href="XSECDefs_8hpp.html#a5">XSEC_DECLARE_XERCES_CLASS</a>(DOMDocument);
00039 <a class="code" href="XSECDefs_8hpp.html#a5">XSEC_DECLARE_XERCES_CLASS</a>(BinInputStream);
00040
00041 <span class="keyword">class </span><a class="code" href="classXSECCryptoKey.html">XSECCryptoKey</a>;
00042 <span class="keyword">class </span><a class="code" href="classXENCEncryptedData.html">XENCEncryptedData</a>;
00043 <span class="keyword">class </span><a class="code" href="classXENCEncryptedKey.html">XENCEncryptedKey</a>;
00044 <span class="keyword">class </span><a class="code" href="classXSECKeyInfoResolver.html">XSECKeyInfoResolver</a>;
00045 <span class="keyword">class </span><a class="code" href="classXSECBinTXFMInputStream.html">XSECBinTXFMInputStream</a>;
00046 <span class="keyword">class </span><a class="code" href="classTXFMChain.html">TXFMChain</a>;
00047
<a name="l00075"></a><a class="code" href="classXENCCipher.html">00075</a> <span class="keyword">class </span><a class="code" href="classXENCCipher.html">XENCCipher</a> {
00076
00077 <span class="keyword">public</span>:
00078
00081
<a name="l00082"></a><a class="code" href="classXENCCipher.html#z233_0">00082</a> <span class="keyword">virtual</span> <a class="code" href="classXENCCipher.html#z233_0">~XENCCipher</a>() {};
00083
00085
00088
00108 <span class="keyword">virtual</span> <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMDocument * <a class="code" href="classXENCCipher.html#z234_0">decryptElement</a>(
00109 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMElement * element
00110 ) = 0;
00111
00129 <span class="keyword">virtual</span> <a class="code" href="classXSECBinTXFMInputStream.html">XSECBinTXFMInputStream</a> * <a class="code" href="classXENCCipher.html#z234_1">decryptToBinInputStream</a>(
00130 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMElement * element
00131 ) = 0;
00132
00144 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classXENCCipher.html#z234_2">decryptKey</a>(
00145 <a class="code" href="classXENCEncryptedKey.html">XENCEncryptedKey</a> * encryptedKey,
00146 XMLByte * rawKey,
00147 <span class="keywordtype">int</span> maxKeySize
00148 ) = 0;
00149
00162 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classXENCCipher.html#z234_2">decryptKey</a>(
00163 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMElement * keyNode,
00164 XMLByte * rawKey,
00165 <span class="keywordtype">int</span> maxKeySize
00166 ) = 0;
00167
00169
00172
00192 <span class="keyword">virtual</span> <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMDocument * <a class="code" href="classXENCCipher.html#z235_0">encryptElement</a>(
00193 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMElement * element,
00194 <a class="code" href="DSIGConstants_8hpp.html#a107">encryptionMethod</a> em,
00195 <span class="keyword">const</span> XMLCh * algorithmURI = NULL
00196 ) = 0;
00197
00218 <span class="keyword">virtual</span> <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMDocument * <a class="code" href="classXENCCipher.html#z235_1">encryptElementContent</a>(
00219 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMElement * element,
00220 <a class="code" href="DSIGConstants_8hpp.html#a107">encryptionMethod</a> em,
00221 <span class="keyword">const</span> XMLCh * algorithmURI = NULL
00222 ) = 0;
00223
00239 <span class="keyword">virtual</span> <a class="code" href="classXENCEncryptedKey.html">XENCEncryptedKey</a> * <a class="code" href="classXENCCipher.html#z235_2">encryptKey</a>(
00240 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * keyBuffer,
00241 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> keyLen,
00242 <a class="code" href="DSIGConstants_8hpp.html#a107">encryptionMethod</a> em,
00243 <span class="keyword">const</span> XMLCh * algorithmURI = NULL
00244 ) = 0;
00245
00261 <span class="keyword">virtual</span> <a class="code" href="classXENCEncryptedData.html">XENCEncryptedData</a> * <a class="code" href="classXENCCipher.html#z235_3">encryptBinInputStream</a>(
00262 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> BinInputStream * plainText,
00263 <a class="code" href="DSIGConstants_8hpp.html#a107">encryptionMethod</a> em,
00264 <span class="keyword">const</span> XMLCh * algorithmURI = NULL
00265 ) = 0;
00266
00285 <span class="keyword">virtual</span> <a class="code" href="classXENCEncryptedData.html">XENCEncryptedData</a> * <a class="code" href="classXENCCipher.html#z235_4">encryptTXFMChain</a>(
00286 <a class="code" href="classTXFMChain.html">TXFMChain</a> * plainText,
00287 <a class="code" href="DSIGConstants_8hpp.html#a107">encryptionMethod</a> em,
00288 <span class="keyword">const</span> XMLCh * algorithmURI = NULL
00289 ) = 0;
00290
00292
00294
00304 <span class="keyword">virtual</span> <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMDocument * <a class="code" href="classXENCCipher.html#z236_0">getDocument</a>(<span class="keywordtype">void</span>) = 0;
00305
00315 <span class="keyword">virtual</span> <span class="keyword">const</span> XMLCh * <a class="code" href="classXENCCipher.html#z236_1">getXENCNSPrefix</a>(<span class="keywordtype">void</span>) <span class="keyword">const </span>= 0;
00316
00326 <span class="keyword">virtual</span> <a class="code" href="classXENCEncryptedData.html">XENCEncryptedData</a> * <a class="code" href="classXENCCipher.html#z236_2">getEncryptedData</a>(<span class="keywordtype">void</span>) = 0;
00327
00334 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classXENCCipher.html#z236_3">getPrettyPrint</a>(<span class="keywordtype">void</span>) = 0;
00335
00337
00340
00351 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classXENCCipher.html#z237_0">setKey</a>(<a class="code" href="classXSECCryptoKey.html">XSECCryptoKey</a> * key) = 0;
00352
00366 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classXENCCipher.html#z237_1">setKEK</a>(<a class="code" href="classXSECCryptoKey.html">XSECCryptoKey</a> * key) = 0;
00367
00382 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classXENCCipher.html#z237_2">setKeyInfoResolver</a>(<span class="keyword">const</span> <a class="code" href="classXSECKeyInfoResolver.html">XSECKeyInfoResolver</a> * resolver) = 0;
00383
00391 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classXENCCipher.html#z237_3">setXENCNSPrefix</a>(<span class="keyword">const</span> XMLCh * prefix) = 0;
00392
00404 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classXENCCipher.html#z237_4">setPrettyPrint</a>(<span class="keywordtype">bool</span> flag) = 0;
00405
00407
00410
00431 <span class="keyword">virtual</span> <a class="code" href="classXENCEncryptedData.html">XENCEncryptedData</a> * <a class="code" href="classXENCCipher.html#z238_0">createEncryptedData</a>(<a class="code" href="classXENCCipherData.html#w3">XENCCipherData::XENCCipherDataType</a> type,
00432 <span class="keyword">const</span> XMLCh * algorithm,
00433 <span class="keyword">const</span> XMLCh * value) = 0;
00434
00446 <span class="keyword">virtual</span> <a class="code" href="classXENCEncryptedKey.html">XENCEncryptedKey</a> * <a class="code" href="classXENCCipher.html#z238_1">loadEncryptedKey</a>(
00447 <a class="code" href="XSECDefs_8hpp.html#a0">XERCES_CPP_NAMESPACE_QUALIFIER</a> DOMElement * keyNode
00448 ) = 0;
00449
00451
00452 };
00453
00454 <span class="comment">/*\@}*/</span>
00455
00456 <span class="preprocessor">#endif </span><span class="comment">/* XENCCIPHER_INCLUDE */</span>
00457
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jul 3 17:37:26 2005 for XML-Security-C by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
</body>
</html>
|