/*
- * 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.
#define __xmltooling_enckeyres_h__
#include <xmltooling/encryption/Encryption.h>
-#include <xmltooling/signature/KeyResolver.h>
namespace xmlencryption {
/**
* An API for resolving encrypted decryption keys.
*/
- class XMLTOOL_API EncryptedKeyResolver : public xmlsignature::KeyResolver {
+ class XMLTOOL_API EncryptedKeyResolver {
+ MAKE_NONCOPYABLE(EncryptedKeyResolver);
public:
+ EncryptedKeyResolver() {}
virtual ~EncryptedKeyResolver() {}
/**
- * Returns an encrypted key based on the supplied KeyInfo information.
+ * Returns an encrypted key based on the supplied object's KeyInfo information.
*
* @param encryptedData an encrypted object
+ * @param recipient identifier of recipient of encrypted key
* @return the resolved EncryptedKey object
*/
- virtual EncryptedKey* resolveKey(EncryptedData* encryptedData)=0;
+ virtual const EncryptedKey* resolveKey(const EncryptedData& encryptedData, const XMLCh* recipient=NULL) const;
};
};