|
Mixe for Privacy and Anonymity in the Internet
|
00001 #ifndef __CAABSTRACTXMLSIGNABLE__ 00002 #define __CAABSTRACTXMLSIGNABLE__ 00003 00004 #ifndef ONLY_LOCAL_PROXY 00005 00006 #include "CAAbstractXMLEncodable.hpp" 00007 #include "CACertStore.hpp" 00008 #include "CASignature.hpp" 00009 #include "CAMsg.hpp" 00010 #include "xml/DOM_Output.hpp" 00011 00017 class CAAbstractXMLSignable : public CAAbstractXMLEncodable 00018 { 00019 public: 00020 CAAbstractXMLSignable() : CAAbstractXMLEncodable() 00021 { 00022 m_pSignature = NULL; 00023 } 00024 00025 virtual ~CAAbstractXMLSignable() 00026 { 00027 if(m_pSignature!=NULL) 00028 { 00029 m_pSignature->release(); 00030 m_pSignature = NULL; 00031 } 00032 } 00033 00035 SINT32 sign(CASignature &) 00036 { 00037 return E_UNKNOWN; 00038 } 00039 00043 /*SINT32 verifySignature(CASignature &verifier) 00044 { 00045 //ASSERT(verifier!=NULL, "sigVerifier is NULL"); 00046 XERCES_CPP_NAMESPACE::DOMDocument* pDoc=NULL; 00047 toXmlDocument(pDoc); 00048 DOMElement* pElemRoot = pDoc->getDocumentElement(); 00049 SINT32 rc = verifier.verifyXML( pElemRoot, (CACertStore *)NULL ); 00050 if(pDoc != NULL) 00051 { 00052 pDoc->release(); 00053 } 00054 return rc; 00055 }*/ 00056 00061 SINT32 setSignature(DOMElement* elemSig) 00062 { 00063 ASSERT(!elemSig==NULL, "Signature element is NULL") 00064 m_pSignature = createDOMDocument(); 00065 m_pSignature->appendChild(m_pSignature->importNode(elemSig, true)); 00066 return E_SUCCESS; 00067 } 00068 00070 SINT32 isSigned() 00071 { 00072 if(m_pSignature!=NULL) 00073 { 00074 return true; 00075 } 00076 else 00077 { 00078 return false; 00079 } 00080 } 00081 00082 protected: 00083 XERCES_CPP_NAMESPACE::DOMDocument* m_pSignature; 00084 }; 00085 00086 #endif //ONLY_LOCAL_PROXY 00087 #endif
1.7.6.1