X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fencryption%2Fimpl%2FEncryptionImpl.cpp;h=ab5223ec23378c336974c748d916318f93db9a59;hb=a0d768778a8f5f539b909baf5b115e70ea765f0f;hp=c3809d5bb9af4bf672c340c598b5897d1ff6f20a;hpb=1f87cef41f9948492e13d3d9dc1495652606c441;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltooling/encryption/impl/EncryptionImpl.cpp b/xmltooling/encryption/impl/EncryptionImpl.cpp index c3809d5..ab5223e 100644 --- a/xmltooling/encryption/impl/EncryptionImpl.cpp +++ b/xmltooling/encryption/impl/EncryptionImpl.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006 Internet2 + * Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ /** * EncryptionImpl.cpp * - * Implementation classes for XML Encryption schema + * Implementation classes for XML Encryption schema. */ #include "internal.h" @@ -28,12 +28,14 @@ #include "encryption/Encryption.h" #include "io/AbstractXMLObjectMarshaller.h" #include "io/AbstractXMLObjectUnmarshaller.h" +#include "signature/KeyInfo.h" #include "util/XMLHelper.h" #include using namespace xmlencryption; using namespace xmltooling; +using namespace xercesc; using namespace std; using xmlconstants::XMLENC_NS; using xmlconstants::XMLSIG_NS; @@ -57,11 +59,11 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_Algorithm=NULL; - m_KeySize=NULL; - m_OAEPparams=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); + m_Algorithm=nullptr; + m_KeySize=nullptr; + m_OAEPparams=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_KeySize=m_children.begin(); m_pos_OAEPparams=m_pos_KeySize; ++m_pos_OAEPparams; @@ -71,7 +73,7 @@ namespace xmlencryption { XMLString::release(&m_Algorithm); } - EncryptionMethodImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + EncryptionMethodImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -97,7 +99,7 @@ namespace xmlencryption { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Algorithm,ALGORITHM,NULL); + MARSHALL_STRING_ATTRIB(Algorithm,ALGORITHM,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -115,7 +117,7 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Algorithm,ALGORITHM,NULL); + PROC_STRING_ATTRIB(Algorithm,ALGORITHM,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -129,7 +131,7 @@ namespace xmlencryption { public: virtual ~TransformsImpl() {} - TransformsImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + TransformsImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } @@ -160,9 +162,9 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_URI=NULL; - m_Transforms=NULL; - m_children.push_back(NULL); + m_URI=nullptr; + m_Transforms=nullptr; + m_children.push_back(nullptr); m_pos_Transforms=m_children.begin(); } public: @@ -170,7 +172,7 @@ namespace xmlencryption { XMLString::release(&m_URI); } - CipherReferenceImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + CipherReferenceImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -189,7 +191,7 @@ namespace xmlencryption { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(URI,URI,NULL); + MARSHALL_STRING_ATTRIB(URI,URI,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -198,7 +200,7 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(URI,URI,NULL); + PROC_STRING_ATTRIB(URI,URI,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -210,10 +212,10 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_CipherValue=NULL; - m_CipherReference=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); + m_CipherValue=nullptr; + m_CipherReference=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_CipherValue=m_children.begin(); m_pos_CipherReference=m_pos_CipherValue; ++m_pos_CipherReference; @@ -221,7 +223,7 @@ namespace xmlencryption { public: virtual ~CipherDataImpl() {} - CipherDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + CipherDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -255,7 +257,7 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_Id=m_Target=NULL; + m_Id=m_Target=nullptr; } public: virtual ~EncryptionPropertyImpl() { @@ -263,7 +265,7 @@ namespace xmlencryption { XMLString::release(&m_Target); } - EncryptionPropertyImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + EncryptionPropertyImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -282,11 +284,11 @@ namespace xmlencryption { } IMPL_XMLOBJECT_CLONE(EncryptionProperty); - IMPL_ID_ATTRIB(Id); + IMPL_ID_ATTRIB_EX(Id,ID,nullptr); IMPL_STRING_ATTRIB(Target); IMPL_XMLOBJECT_CHILDREN(UnknownXMLObject, m_children.end()); - void setAttribute(QName& qualifiedName, const XMLCh* value) { + void setAttribute(const xmltooling::QName& qualifiedName, const XMLCh* value, bool ID=false) { if (!qualifiedName.hasNamespaceURI()) { if (XMLString::equals(qualifiedName.getLocalPart(),ID_ATTRIB_NAME)) { setId(value); @@ -297,13 +299,13 @@ namespace xmlencryption { return; } } - AbstractAttributeExtensibleXMLObject::setAttribute(qualifiedName, value); + AbstractAttributeExtensibleXMLObject::setAttribute(qualifiedName, value, ID); } protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_ID_ATTRIB(Id,ID,NULL); - MARSHALL_STRING_ATTRIB(Target,TARGET,NULL); + MARSHALL_ID_ATTRIB(Id,ID,nullptr); + MARSHALL_STRING_ATTRIB(Target,TARGET,nullptr); marshallExtensionAttributes(domElement); } @@ -312,7 +314,7 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_ID_ATTRIB(Id,ID,NULL); + PROC_ID_ATTRIB(Id,ID,nullptr); unmarshallExtensionAttribute(attribute); } }; @@ -324,14 +326,14 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_Id=NULL; + m_Id=nullptr; } public: virtual ~EncryptionPropertiesImpl() { XMLString::release(&m_Id); } - EncryptionPropertiesImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + EncryptionPropertiesImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -349,12 +351,12 @@ namespace xmlencryption { } IMPL_XMLOBJECT_CLONE(EncryptionProperties); - IMPL_ID_ATTRIB(Id); + IMPL_ID_ATTRIB_EX(Id,ID,nullptr); IMPL_TYPED_CHILDREN(EncryptionProperty,m_children.end()); protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_ID_ATTRIB(Id,ID,NULL); + MARSHALL_ID_ATTRIB(Id,ID,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -363,7 +365,7 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_ID_ATTRIB(Id,ID,NULL); + PROC_ID_ATTRIB(Id,ID,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -375,7 +377,7 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_URI=NULL; + m_URI=nullptr; } protected: @@ -388,7 +390,7 @@ namespace xmlencryption { XMLString::release(&m_URI); } - ReferenceTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ReferenceTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -408,7 +410,7 @@ namespace xmlencryption { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(URI,URI,NULL); + MARSHALL_STRING_ATTRIB(URI,URI,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -416,7 +418,7 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(URI,URI,NULL); + PROC_STRING_ATTRIB(URI,URI,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -426,7 +428,7 @@ namespace xmlencryption { public: virtual ~DataReferenceImpl() {} - DataReferenceImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + DataReferenceImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) {} DataReferenceImpl(const DataReferenceImpl& src) : AbstractXMLObject(src), ReferenceTypeImpl(src) {} @@ -442,7 +444,7 @@ namespace xmlencryption { public: virtual ~KeyReferenceImpl() {} - KeyReferenceImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + KeyReferenceImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) {} KeyReferenceImpl(const KeyReferenceImpl& src) : AbstractXMLObject(src), ReferenceTypeImpl(src) {} @@ -462,7 +464,7 @@ namespace xmlencryption { public: virtual ~ReferenceListImpl() {} - ReferenceListImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ReferenceListImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } @@ -504,15 +506,15 @@ namespace xmlencryption { public AbstractXMLObjectUnmarshaller { void init() { - m_Id=m_Type=m_MimeType=m_Encoding=NULL; - m_EncryptionMethod=NULL; - m_KeyInfo=NULL; - m_CipherData=NULL; - m_EncryptionProperties=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_Id=m_Type=m_MimeType=m_Encoding=nullptr; + m_EncryptionMethod=nullptr; + m_KeyInfo=nullptr; + m_CipherData=nullptr; + m_EncryptionProperties=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_EncryptionMethod=m_children.begin(); m_pos_KeyInfo=m_pos_EncryptionMethod; ++m_pos_KeyInfo; @@ -534,7 +536,7 @@ namespace xmlencryption { XMLString::release(&m_Encoding); } - EncryptedTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + EncryptedTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -557,7 +559,7 @@ namespace xmlencryption { } IMPL_XMLOBJECT_CLONE(EncryptedType); - IMPL_ID_ATTRIB(Id); + IMPL_ID_ATTRIB_EX(Id,ID,nullptr); IMPL_STRING_ATTRIB(Type); IMPL_STRING_ATTRIB(MimeType); IMPL_STRING_ATTRIB(Encoding); @@ -568,10 +570,10 @@ namespace xmlencryption { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_ID_ATTRIB(Id,ID,NULL); - MARSHALL_STRING_ATTRIB(Type,TYPE,NULL); - MARSHALL_STRING_ATTRIB(MimeType,MIMETYPE,NULL); - MARSHALL_STRING_ATTRIB(Encoding,ENCODING,NULL); + MARSHALL_ID_ATTRIB(Id,ID,nullptr); + MARSHALL_STRING_ATTRIB(Type,TYPE,nullptr); + MARSHALL_STRING_ATTRIB(MimeType,MIMETYPE,nullptr); + MARSHALL_STRING_ATTRIB(Encoding,ENCODING,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -583,10 +585,10 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_ID_ATTRIB(Id,ID,NULL); - PROC_STRING_ATTRIB(Type,TYPE,NULL); - PROC_STRING_ATTRIB(MimeType,MIMETYPE,NULL); - PROC_STRING_ATTRIB(Encoding,ENCODING,NULL); + PROC_ID_ATTRIB(Id,ID,nullptr); + PROC_STRING_ATTRIB(Type,TYPE,nullptr); + PROC_STRING_ATTRIB(MimeType,MIMETYPE,nullptr); + PROC_STRING_ATTRIB(Encoding,ENCODING,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -596,7 +598,7 @@ namespace xmlencryption { public: virtual ~EncryptedDataImpl() {} - EncryptedDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + EncryptedDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) {} EncryptedDataImpl(const EncryptedDataImpl& src) : AbstractXMLObject(src), EncryptedTypeImpl(src) {} @@ -610,11 +612,11 @@ namespace xmlencryption { class XMLTOOL_DLLLOCAL EncryptedKeyImpl : public virtual EncryptedKey, public EncryptedTypeImpl { void init() { - m_Recipient=NULL; - m_ReferenceList=NULL; - m_CarriedKeyName=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); + m_Recipient=nullptr; + m_ReferenceList=nullptr; + m_CarriedKeyName=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_ReferenceList=m_pos_EncryptionProperties; ++m_pos_ReferenceList; m_pos_CarriedKeyName=m_pos_ReferenceList; @@ -626,7 +628,7 @@ namespace xmlencryption { XMLString::release(&m_Recipient); } - EncryptedKeyImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + EncryptedKeyImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -645,7 +647,7 @@ namespace xmlencryption { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Recipient,RECIPIENT,NULL); + MARSHALL_STRING_ATTRIB(Recipient,RECIPIENT,nullptr); EncryptedTypeImpl::marshallAttributes(domElement); } @@ -656,7 +658,7 @@ namespace xmlencryption { } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Recipient,RECIPIENT,NULL); + PROC_STRING_ATTRIB(Recipient,RECIPIENT,nullptr); EncryptedTypeImpl::processAttribute(attribute); } };