X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fsignature%2FKeyInfo.h;h=64141b2a3651bc526bae03ea07782b6a98acbef7;hb=a36ded577e742e7d0cae85fea1b9913ba2330dd5;hp=25e72b851942a170fc8d769a04d1962eb6a6161d;hpb=aca509e6b9c8e0859c20723a231052e5a17f756a;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltooling/signature/KeyInfo.h b/xmltooling/signature/KeyInfo.h index 25e72b8..64141b2 100644 --- a/xmltooling/signature/KeyInfo.h +++ b/xmltooling/signature/KeyInfo.h @@ -36,6 +36,14 @@ #define DECL_XMLSIGOBJECTBUILDER(cname) \ DECL_XMLOBJECTBUILDER(XMLTOOL_API,cname,xmlconstants::XMLSIG_NS,xmlconstants::XMLSIG_PREFIX) +/** + * Macro for declaring signature builders. + * + * @param cname name of class being built + */ +#define DECL_XMLSIG11OBJECTBUILDER(cname) \ + DECL_XMLOBJECTBUILDER(XMLTOOL_API,cname,xmlconstants::XMLSIG11_NS,xmlconstants::XMLSIG11_PREFIX) + namespace xmlsignature { DECL_XMLOBJECT_SIMPLE(XMLTOOL_API,KeyName,Name,XML Digital Signature version 20020212 KeyName element); @@ -135,6 +143,7 @@ namespace xmlsignature { DECL_TYPED_CHILDREN(X509SubjectName); DECL_TYPED_CHILDREN(X509Certificate); DECL_TYPED_CHILDREN(X509CRL); + DECL_TYPED_CHILDREN(OCSPResponse); /** X509DataType local name */ static const XMLCh TYPE_NAME[]; END_XMLOBJECT; @@ -157,32 +166,33 @@ namespace xmlsignature { static const XMLCh TYPE_NAME[]; END_XMLOBJECT; + BEGIN_XMLOBJECT(XMLTOOL_API,KeyInfoReference,xmltooling::XMLObject,XML Digital Signature version 1.1 KeyInfoReference element); + DECL_STRING_ATTRIB(Id,ID); + DECL_STRING_ATTRIB(URI,URI); + /** KeyInfoReferenceType local name */ + static const XMLCh TYPE_NAME[]; + END_XMLOBJECT; + BEGIN_XMLOBJECT(XMLTOOL_API,KeyInfo,xmltooling::ElementExtensibleXMLObject,XML Digital Signature version 20020212 KeyInfo element); DECL_STRING_ATTRIB(Id,ID); DECL_TYPED_CHILDREN(X509Data); DECL_TYPED_CHILDREN(KeyName); DECL_TYPED_CHILDREN(KeyValue); + DECL_TYPED_CHILDREN(DEREncodedKeyValue); DECL_TYPED_CHILDREN(RetrievalMethod); DECL_TYPED_CHILDREN(MgmtData); DECL_TYPED_CHILDREN(PGPData); DECL_TYPED_CHILDREN(SPKIData); + DECL_TYPED_CHILDREN(KeyInfoReference); /** KeyInfoType local name */ static const XMLCh TYPE_NAME[]; END_XMLOBJECT; - BEGIN_XMLOBJECT(XMLTOOL_API,KeyInfoReference,xmltooling::XMLObject,XML Digital Signature version 1.1 KeyInfoReference element); - DECL_STRING_ATTRIB(Id,ID); - DECL_STRING_ATTRIB(URI,URI); - /** KeyInfoReferenceType local name */ - static const XMLCh TYPE_NAME[]; - END_XMLOBJECT; - DECL_XMLSIGOBJECTBUILDER(PGPData); DECL_XMLSIGOBJECTBUILDER(PGPKeyID); DECL_XMLSIGOBJECTBUILDER(PGPKeyPacket); DECL_XMLSIGOBJECTBUILDER(SPKIData); DECL_XMLSIGOBJECTBUILDER(SPKISexp); - DECL_XMLSIGOBJECTBUILDER(OCSPResponse); DECL_XMLSIGOBJECTBUILDER(X509IssuerSerial); DECL_XMLSIGOBJECTBUILDER(X509IssuerName); DECL_XMLSIGOBJECTBUILDER(X509SerialNumber); @@ -209,9 +219,11 @@ namespace xmlsignature { DECL_XMLSIGOBJECTBUILDER(DSAKeyValue); DECL_XMLSIGOBJECTBUILDER(RSAKeyValue); DECL_XMLSIGOBJECTBUILDER(KeyValue); - DECL_XMLSIGOBJECTBUILDER(DEREncodedKeyValue); DECL_XMLSIGOBJECTBUILDER(KeyInfo); - DECL_XMLSIGOBJECTBUILDER(KeyInfoReference); + + DECL_XMLSIG11OBJECTBUILDER(DEREncodedKeyValue); + DECL_XMLSIG11OBJECTBUILDER(KeyInfoReference); + DECL_XMLSIG11OBJECTBUILDER(OCSPResponse); /** * Registers builders and validators for KeyInfo classes into the runtime.