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 | 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
public int getDepthLimit()
public void setDepthLimit(int limit)
limit
- limit to setpublic Iterable<EncryptedKey> resolve(EncryptedData encryptedData)
encryptedData
- the EncryptedData element context in which to resolveprotected Iterable<EncryptedKey> resolveKeyInfo(KeyInfo keyInfo, int limit)
keyInfo
- KeyInfo to processlimit
- depth of references to followprotected KeyInfo dereferenceURI(KeyInfoReference ref)
ref
- the KeyInfoReference to processCopyright © 1999–2014. All rights reserved.