Multi-line svn commit, see body.
[shibboleth/cpp-xmltooling.git] / xmltooling / signature / Signature.h
index d26ccb8..aa8db50 100644 (file)
@@ -52,7 +52,21 @@ namespace xmlsignature {
         static const XMLCh LOCAL_NAME[];
 
         /**
-         * Sets the canonicalization method for the ds:SignedInfo element
+         * Gets the canonicalization method for the ds:SignedInfo element.
+         * 
+         * @return the canonicalization method
+         */
+        virtual const XMLCh* getCanonicalizationMethod() const=0;
+        
+        /**
+         * Gets the signing algorithm for the signature.
+         * 
+         * @return    the signature algorithm
+         */
+        virtual const XMLCh* getSignatureAlgorithm() const=0;
+
+        /**
+         * Sets the canonicalization method for the ds:SignedInfo element.
          * 
          * @param c14n  the canonicalization method
          */
@@ -179,6 +193,14 @@ namespace xmlsignature {
             unsigned int in_len
             );
 
+        /**
+         * Populates a set of key names using the information found in a native KeyInfo object.
+         *
+         * @param keyInfo   a native KeyInfo object
+         * @param names     a set of names to populate
+         */
+        static void extractNames(DSIGKeyInfoList* keyInfo, std::set<std::string>& names);
+
     protected:
         Signature() {}
     };