const vector<EncryptedKey*>& keys=m_ref.getEncryptedKeys();
for (vector<EncryptedKey*>::const_iterator i=keys.begin(); i!=keys.end(); i++) {
- if (XMLString::equals(recipient,(*i)->getRecipient()))
+ if ((*i)->getRecipient() == nullptr)
+ return (*i);
+ else if (XMLString::equals(recipient,(*i)->getRecipient()))
return (*i);
}
+
return nullptr;
}
{
if (!getEncryptedData())
throw DecryptionException("No encrypted data present.");
- EncryptedKeyResolver ekr(*this);
+ opensaml::EncryptedKeyResolver ekr(*this);
Decrypter decrypter(&credResolver, criteria, &ekr);
DOMDocumentFragment* frag = decrypter.decryptData(*getEncryptedData(), recipient);
if (frag->hasChildNodes() && frag->getFirstChild()==frag->getLastChild()) {