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 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
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–2015 JBoss by Red Hat. All rights reserved.