public class SimpleKeyInfoReferenceEncryptedKeyResolver extends AbstractEncryptedKeyResolver
EncryptedKeyResolver which finds EncryptedKey elements by dereferencing
KeyInfoReference children of the KeyInfo of the EncryptedData
context.
The URI attribute value must be a same-document fragment identifier (via ID attribute).
Processing of external resources is not supported. Furthermore, the target of the reference must itself
contain either an EncryptedKey or a subsequent KeyInfoReference, up to a depth limit.
Other forms of resolution cannot be mixed together with this one.| Modifier and Type | Field and Description |
|---|---|
private int |
depthLimit
Number of times to follow a reference before failing.
|
private org.slf4j.Logger |
log
Class logger.
|
| Constructor and Description |
|---|
SimpleKeyInfoReferenceEncryptedKeyResolver()
Constructor.
|
SimpleKeyInfoReferenceEncryptedKeyResolver(Set<String> recipients)
Constructor.
|
SimpleKeyInfoReferenceEncryptedKeyResolver(String recipient)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected KeyInfo |
dereferenceURI(KeyInfoReference ref)
Dereference the URI attribute of the specified retrieval method into a KeyInfo.
|
int |
getDepthLimit()
Gets the reference depth limit.
|
Iterable<EncryptedKey> |
resolve(EncryptedData encryptedData)
Resolve the EncryptedKey elements containing the data encryption key used to
encrypt the specified EncryptedData element.
|
protected Iterable<EncryptedKey> |
resolveKeyInfo(KeyInfo keyInfo,
int limit)
Turn a KeyInfo into an EncryptedKey collection.
|
void |
setDepthLimit(int limit)
Sets the reference depth limit, to a minimum of 1.
|
getRecipients, matchCarriedKeyName, matchDataReference, matchRecipient@Nonnull private final org.slf4j.Logger log
private int depthLimit
public SimpleKeyInfoReferenceEncryptedKeyResolver()
public SimpleKeyInfoReferenceEncryptedKeyResolver(@Nullable Set<String> recipients)
recipients - the set of recipientspublic int getDepthLimit()
public void setDepthLimit(int limit)
limit - limit to set@Nonnull public Iterable<EncryptedKey> resolve(@Nonnull EncryptedData encryptedData)
encryptedData - the EncryptedData element context in which to resolve@Nonnull protected Iterable<EncryptedKey> resolveKeyInfo(@Nullable KeyInfo keyInfo, int limit)
keyInfo - KeyInfo to processlimit - depth of references to follow@Nullable protected KeyInfo dereferenceURI(@Nonnull KeyInfoReference ref)
ref - the KeyInfoReference to processCopyright © 1999–2018 Shibboleth Consortium. All rights reserved.