Update copyright.
[shibboleth/cpp-xmltooling.git] / xmltooling / security / AbstractPKIXTrustEngine.h
index 7295ed2..7384f8c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2006 Internet2
+ *  Copyright 2001-2007 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -110,7 +110,16 @@ namespace xmltooling {
         class XMLTOOL_API PKIXValidationInfoIterator {
             MAKE_NONCOPYABLE(PKIXValidationInfoIterator);
         protected:
-            PKIXValidationInfoIterator() {}
+            /** Reference to KeyResolver to use. */
+            const xmlsignature::KeyResolver& m_keyResolver;
+            
+            /**
+             * Constructor
+             * 
+             * @param keyResolver   reference to KeyResolver to use
+             */
+            PKIXValidationInfoIterator(const xmlsignature::KeyResolver& keyResolver) : m_keyResolver(keyResolver) {}
+            
         public:
             virtual ~PKIXValidationInfoIterator() {}
             
@@ -156,9 +165,14 @@ namespace xmltooling {
          * will be tried, in turn, until one succeeds or no more remain.
          * The caller must free the returned interface when finished with it.
          * 
-         * @return interface for obtaining validation data  
+         * @param pkixSource    the peer for which validation rules are required
+         * @param keyResolver   reference to KeyResolver to use for any KeyInfo operations
+         * @return interface for obtaining validation data
          */
-        virtual PKIXValidationInfoIterator* getPKIXValidationInfoIterator(const KeyInfoSource& pkixSource) const=0;
+        virtual PKIXValidationInfoIterator* getPKIXValidationInfoIterator(
+            const KeyInfoSource& pkixSource,
+            const xmlsignature::KeyResolver& keyResolver
+            ) const=0;
     };
 };