using namespace xercesc;
using namespace std;
-#ifndef XMLTOOLING_LITE
-namespace {
- class XMLTOOL_DLLLOCAL DummyCredentialResolver : public CredentialResolver
- {
- public:
- DummyCredentialResolver() {}
- ~DummyCredentialResolver() {}
-
- Lockable* lock() {return this;}
- void unlock() {}
-
- const Credential* resolve(const CredentialCriteria* criteria=nullptr) const {return nullptr;}
- vector<const Credential*>::size_type resolve(
- vector<const Credential*>& results, const CredentialCriteria* criteria=nullptr
- ) const {return 0;}
- };
-};
-#endif
-
static const XMLCh id[] = UNICODE_LITERAL_2(i,d);
static const XMLCh uri[] = UNICODE_LITERAL_3(u,r,i);
static const XMLCh url[] = UNICODE_LITERAL_3(u,r,l);
log.debug("using remote resource (%s)", m_source.c_str());
m_backing = XMLHelper::getAttrString(e, nullptr, backingFilePath);
if (!m_backing.empty()) {
- XMLToolingConfig::getConfig().getPathResolver()->resolve(m_backing, PathResolver::XMLTOOLING_RUN_FILE);
+ XMLToolingConfig::getConfig().getPathResolver()->resolve(m_backing, PathResolver::XMLTOOLING_CACHE_FILE);
log.debug("backup remote resource to (%s)", m_backing.c_str());
try {
string tagname = m_backing + ".tag";
}
}
else if (m_trust) {
- DummyCredentialResolver dummy;
- if (m_trust->validate(sigObj, dummy, &cc))
+ auto_ptr<CredentialResolver> dummy(
+ XMLToolingConfig::getConfig().CredentialResolverManager.newPlugin(DUMMY_CREDENTIAL_RESOLVER, nullptr)
+ );
+ if (m_trust->validate(sigObj, *(dummy.get()), &cc))
return;
throw XMLSecurityException("TrustEngine unable to verify signature.");
}