public class Encrypter extends Encrypter
EncryptedElementType
.
Overloaded methods are provided for encrypting various SAML 2 elements to their corresponding encrypted element
variant of EncryptedElementType
.
Support is also provided for differing placement options for any associated EncryptedKeys that may be generated. The options are:
INLINE
: EncryptedKeys will placed inside the KeyInfo element of the EncryptedData elementPEER
: EncryptedKeys will be placed as peer elements of the EncryptedData inside the
EncryptedElementType elementPEER
.
The EncryptedKey forward and back referencing behavior associated with these key placement options is intended to be consistent with the guidelines detailed in SAML 2 Errata E43. See that document for further information.
For information on other parameters and options, and general XML Encryption issues, see
Encrypter
.
Modifier and Type | Class and Description |
---|---|
static class |
Encrypter.KeyPlacement
Options for where to place the resulting EncryptedKey elements with respect to the associated EncryptedData
element.
|
Constructor and Description |
---|
Encrypter(DataEncryptionParameters dataEncParams)
Constructor.
|
Encrypter(DataEncryptionParameters dataEncParams,
KeyEncryptionParameters keyEncParam)
Constructor.
|
Encrypter(DataEncryptionParameters dataEncParams,
List<KeyEncryptionParameters> keyEncParams)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
EncryptedAssertion |
encrypt(Assertion assertion)
Encrypt the specified Assertion.
|
EncryptedAttribute |
encrypt(Attribute attribute)
Encrypt the specified Attribute.
|
EncryptedID |
encrypt(BaseID baseID)
Encrypt the specified BaseID.
|
EncryptedID |
encrypt(NameID nameID)
Encrypt the specified NameID.
|
NewEncryptedID |
encrypt(NewID newID)
Encrypt the specified NewID.
|
EncryptedID |
encryptAsID(Assertion assertion)
Encrypt the specified Assertion, treating as an identifier and returning an EncryptedID.
|
Encrypter.KeyPlacement |
getKeyPlacement()
Get the current key placement option.
|
protected void |
linkMultiplePeerKeys(EncryptedData encData,
List<EncryptedKey> encKeys)
Link multiple "multicast" EncryptedKeys to the EncryptedData according to guidelines in SAML Errata E43.
|
protected void |
linkSinglePeerKey(EncryptedData encData,
EncryptedKey encKey)
Link a single EncryptedKey to the EncryptedData according to guidelines in SAML Errata E43.
|
protected EncryptedElementType |
placeKeysAsPeers(EncryptedElementType encElement,
EncryptedData encData,
List<EncryptedKey> encKeys)
Store the specified EncryptedData and EncryptedKey(s) in the specified instance of EncryptedElementType as peer
elements, following SAML 2 Errata E43 guidelines for forward and back referencing between the EncryptedData and
EncryptedKey(s).
|
protected EncryptedElementType |
placeKeysInline(EncryptedElementType encElement,
EncryptedData encData,
List<EncryptedKey> encKeys)
Place the EncryptedKey elements inside the KeyInfo element within the EncryptedData element.
|
protected EncryptedElementType |
processElements(EncryptedElementType encElement,
EncryptedData encData,
List<EncryptedKey> encKeys)
Handle post-processing of generated EncryptedData and EncryptedKey(s) and storage in the appropriate
EncryptedElementType instance.
|
void |
setIDGenerator(IdentifierGenerationStrategy newIDGenerator)
Set the generator to use when creating XML ID attribute values.
|
void |
setKeyPlacement(Encrypter.KeyPlacement newKeyPlacement)
Set the key placement option.
|
buildXMLCipher, checkAndMarshall, checkParams, checkParams, checkParams, checkParams, decodeOAEPParams, encryptElement, encryptElement, encryptElement, encryptElement, encryptElementContent, encryptElementContent, encryptElementContent, encryptKey, encryptKey, encryptKey, generateEncryptionKey, getEffectiveMGF, getJCAProviderName, postProcessApacheEncryptedKey, setJCAProviderName
public Encrypter(DataEncryptionParameters dataEncParams, List<KeyEncryptionParameters> keyEncParams)
dataEncParams
- the data encryption parameterskeyEncParams
- the key encryption parameterspublic Encrypter(DataEncryptionParameters dataEncParams, KeyEncryptionParameters keyEncParam)
dataEncParams
- the data encryption parameterskeyEncParam
- the key encryption parameterpublic Encrypter(DataEncryptionParameters dataEncParams)
dataEncParams
- the data encryption parameterspublic void setIDGenerator(IdentifierGenerationStrategy newIDGenerator)
newIDGenerator
- the new IdentifierGenerator to usepublic Encrypter.KeyPlacement getKeyPlacement()
public void setKeyPlacement(Encrypter.KeyPlacement newKeyPlacement)
newKeyPlacement
- The new key placement option to setpublic EncryptedAssertion encrypt(Assertion assertion) throws EncryptionException
assertion
- the Assertion to encryptEncryptionException
- thrown when encryption generates an errorpublic EncryptedID encryptAsID(Assertion assertion) throws EncryptionException
assertion
- the Assertion to encryptEncryptionException
- thrown when encryption generates an errorpublic EncryptedAttribute encrypt(Attribute attribute) throws EncryptionException
attribute
- the Attribute to encryptEncryptionException
- thrown when encryption generates an errorpublic EncryptedID encrypt(NameID nameID) throws EncryptionException
nameID
- the NameID to encryptEncryptionException
- thrown when encryption generates an errorpublic EncryptedID encrypt(BaseID baseID) throws EncryptionException
baseID
- the BaseID to encryptEncryptionException
- thrown when encryption generates an errorpublic NewEncryptedID encrypt(NewID newID) throws EncryptionException
newID
- the NewID to encryptEncryptionException
- thrown when encryption generates an errorprotected EncryptedElementType processElements(EncryptedElementType encElement, EncryptedData encData, List<EncryptedKey> encKeys) throws EncryptionException
encElement
- the EncryptedElementType instance which will hold the encrypted data and keysencData
- the EncryptedData objectencKeys
- the list of EncryptedKey objectsEncryptionException
- thrown when processing encounters an errorprotected EncryptedElementType placeKeysInline(EncryptedElementType encElement, EncryptedData encData, List<EncryptedKey> encKeys)
encElement
- the EncryptedElementType instance which will hold the encrypted data and keysencData
- the EncryptedData objectencKeys
- the list of EncryptedKey objectsprotected EncryptedElementType placeKeysAsPeers(EncryptedElementType encElement, EncryptedData encData, List<EncryptedKey> encKeys)
encElement
- a specialization of EncryptedElementType to store the encrypted data and keysencData
- the EncryptedData to storeencKeys
- the EncryptedKey(s) to storeprotected void linkSinglePeerKey(EncryptedData encData, EncryptedKey encKey)
encData
- the EncryptedDataencKey
- the EncryptedKeyprotected void linkMultiplePeerKeys(EncryptedData encData, List<EncryptedKey> encKeys)
encData
- the EncryptedDataencKeys
- the list of EncryptedKeysCopyright © 2016 JBoss by Red Hat. All rights reserved.