Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

DSIGAlgorithmHandlerDefault.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * XSEC
00019  *
00020  * DSIGAlgorithmHandlerDefault := Interface class to define handling of
00021  *                                default signature algorithms
00022  *
00023  * $Id: DSIGAlgorithmHandlerDefault.hpp 422122 2006-07-15 00:58:21Z blautenb $
00024  *
00025  */
00026 
00027 #ifndef DSIGALGHANDLERDEFAULT_INCLUDE
00028 #define DSIGALGHANDLERDEFAULT_INCLUDE
00029 
00030 // XSEC Includes
00031 
00032 #include <xsec/framework/XSECDefs.hpp>
00033 #include <xsec/framework/XSECAlgorithmHandler.hpp>
00034 
00035 class TXFMChain;
00036 class XENCEncryptionMethod;
00037 class XSECCryptoKey;
00038 
00039 // Xerces
00040 
00041 class DSIGAlgorithmHandlerDefault : public XSECAlgorithmHandler {
00042 
00043 public:
00044     
00045     
00046     virtual ~DSIGAlgorithmHandlerDefault() {};
00047 
00048 
00049     virtual XSECAlgorithmHandler * clone(void) const;
00050 
00051     // Signature ops
00052 
00053     virtual bool appendSignatureHashTxfm(
00054         TXFMChain * inputBytes,
00055         const XMLCh * URI,
00056         XSECCryptoKey * key
00057     );
00058 
00059     virtual unsigned int signToSafeBuffer(
00060         TXFMChain * inputBytes,
00061         const XMLCh * URI,
00062         XSECCryptoKey * key,
00063         unsigned int outputLength,
00064         safeBuffer & result
00065     );
00066 
00067     virtual bool verifyBase64Signature(
00068         TXFMChain * inputBytes,
00069         const XMLCh * URI,
00070         const char * sig,
00071         unsigned int outputLength,
00072         XSECCryptoKey * key
00073     );
00074 
00075     virtual bool appendHashTxfm(
00076         TXFMChain * inputBytes,
00077         const XMLCh * URI
00078     );
00079 
00080     // Unsupported Encryption Operations
00081 
00082     virtual unsigned int decryptToSafeBuffer(
00083         TXFMChain * cipherText,
00084         XENCEncryptionMethod * encryptionMethod,
00085         XSECCryptoKey * key,
00086         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00087         safeBuffer & result
00088     );
00089 
00090     virtual bool appendDecryptCipherTXFM(
00091         TXFMChain * cipherText,
00092         XENCEncryptionMethod * encryptionMethod,
00093         XSECCryptoKey * key,
00094         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc
00095     );
00096 
00097     virtual bool encryptToSafeBuffer(
00098         TXFMChain * plainText,
00099         XENCEncryptionMethod * encryptionMethod,
00100         XSECCryptoKey * key,
00101         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00102         safeBuffer & result
00103     );
00104 
00105     virtual XSECCryptoKey * createKeyForURI(
00106         const XMLCh * uri,
00107         const unsigned char * keyBuffer,
00108         unsigned int keyLen
00109     );
00110 
00111 private:
00112 
00113 };
00114 
00115 /*\@}*/
00116 
00117 #endif /* DSIGALGHANDLERDEFAULT_INCLUDE */
00118 

Generated on Sun Jan 28 19:37:21 2007 for XML-Security-C by  doxygen 1.4.2