X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fsignature%2FSigningContext.h;h=520e2d391d71b799b41eeb75a37b5a278ca345ee;hb=362ea424fdf35327c0bfaf1b540da372c01db624;hp=af2e7f43adff7bd422151301ecc895a225f20253;hpb=266acee9bf13c8f576df9906169fb14bf2f9d04a;p=shibboleth%2Fxmltooling.git diff --git a/xmltooling/signature/SigningContext.h b/xmltooling/signature/SigningContext.h index af2e7f4..520e2d3 100644 --- a/xmltooling/signature/SigningContext.h +++ b/xmltooling/signature/SigningContext.h @@ -23,6 +23,8 @@ #if !defined(__xmltooling_signctx_h__) && !defined(XMLTOOLING_NO_XMLSEC) #define __xmltooling_signctx_h__ +#include + #include #include @@ -61,8 +63,18 @@ namespace xmlsignature { * * @return an immutable collection of certificates to embed */ - virtual const std::vector& getX509Certificates() const=0; - + virtual const std::vector* getX509Certificates() const=0; + + /** + * Gets a KeyInfo structure to embed. + * Ownership of the object MUST be transferred to the caller. + * This method will only be called if no certificates are returned from + * the getX509Certificates() method. + * + * @return pointer to a KeyInfo structure, will be freed by caller + */ + virtual KeyInfo* getKeyInfo() const=0; + /** * Gets the signing key to use. * Must be compatible with the intended signature algorithm. Ownership of the key