|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.opensaml.xml.encryption.Encrypter
org.opensaml.saml2.encryption.Encrypter
public class Encrypter
Encrypter for SAML 2 SAMLObjects which has specific options for generating instances of subtypes of
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.
| Nested Class Summary | |
|---|---|
static class |
Encrypter.KeyPlacement
Options for where to place the resulting EncryptedKey elements with respect to the associated EncryptedData element. |
| Field Summary | |
|---|---|
private XMLObjectBuilderFactory |
builderFactory
Factory for building XMLObject instances. |
private XMLEncryptionBuilder<CarriedKeyName> |
carriedKeyNameBuilder
Builder for CarriedKeyName objects. |
private XMLEncryptionBuilder<DataReference> |
dataReferenceBuilder
Builder for DataReference objects. |
private EncryptionParameters |
encParams
The parameters to use for encrypting the data. |
private IdentifierGenerator |
idGenerator
Generator for XML ID attribute values. |
private List<KeyEncryptionParameters> |
kekParamsList
The parameters to use for encrypting (wrapping) the data encryption key. |
private XMLSignatureBuilder<KeyInfo> |
keyInfoBuilder
Builder for KeyInfo objects. |
private XMLSignatureBuilder<KeyName> |
keyNameBuilder
Builder for KeyName objects. |
private Encrypter.KeyPlacement |
keyPlacement
The option for where to place the generated EncryptedKey elements. |
private org.slf4j.Logger |
log
Class logger. |
private XMLEncryptionBuilder<ReferenceList> |
referenceListBuilder
Builder for ReferenceList objects. |
private XMLSignatureBuilder<RetrievalMethod> |
retrievalMethodBuilder
Builder for RetrievalMethod objects. |
| Constructor Summary | |
|---|---|
Encrypter(EncryptionParameters dataEncParams)
Constructor. |
|
Encrypter(EncryptionParameters dataEncParams,
KeyEncryptionParameters keyEncParam)
Constructor. |
|
Encrypter(EncryptionParameters dataEncParams,
List<KeyEncryptionParameters> keyEncParams)
Constructor. |
|
| Method Summary | |
|---|---|
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. |
private EncryptedElementType |
encrypt(XMLObject xmlObject,
QName encElementName)
Encrypt the specified XMLObject, and return it as an instance of the specified QName, which should be one of the types derived from EncryptedElementType. |
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. |
private void |
init()
Helper method for constructors. |
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(IdentifierGenerator newIDGenerator)
Set the generator to use when creating XML ID attribute values. |
void |
setKeyPlacement(Encrypter.KeyPlacement newKeyPlacement)
Set the key placement option. |
| Methods inherited from class org.opensaml.xml.encryption.Encrypter |
|---|
checkAndMarshall, checkParams, checkParams, checkParams, checkParams, encryptElement, encryptElement, encryptElement, encryptElement, encryptElementContent, encryptElementContent, encryptElementContent, encryptKey, encryptKey, encryptKey, generateEncryptionKey, getJCAProviderName, postProcessApacheEncryptedKey, setJCAProviderName |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private XMLObjectBuilderFactory builderFactory
private XMLSignatureBuilder<KeyInfo> keyInfoBuilder
private XMLEncryptionBuilder<DataReference> dataReferenceBuilder
private XMLEncryptionBuilder<ReferenceList> referenceListBuilder
private XMLSignatureBuilder<RetrievalMethod> retrievalMethodBuilder
private XMLSignatureBuilder<KeyName> keyNameBuilder
private XMLEncryptionBuilder<CarriedKeyName> carriedKeyNameBuilder
private IdentifierGenerator idGenerator
private EncryptionParameters encParams
private List<KeyEncryptionParameters> kekParamsList
private Encrypter.KeyPlacement keyPlacement
private final org.slf4j.Logger log
| Constructor Detail |
|---|
public Encrypter(EncryptionParameters dataEncParams,
List<KeyEncryptionParameters> keyEncParams)
dataEncParams - the data encryption parameterskeyEncParams - the key encryption parameters
public Encrypter(EncryptionParameters dataEncParams,
KeyEncryptionParameters keyEncParam)
dataEncParams - the data encryption parameterskeyEncParam - the key encryption parameterpublic Encrypter(EncryptionParameters dataEncParams)
dataEncParams - the data encryption parameters| Method Detail |
|---|
private void init()
public void setIDGenerator(IdentifierGenerator newIDGenerator)
newIDGenerator - the new IdentifierGenerator to usepublic Encrypter.KeyPlacement getKeyPlacement()
public void setKeyPlacement(Encrypter.KeyPlacement newKeyPlacement)
newKeyPlacement - The new key placement option to set
public EncryptedAssertion encrypt(Assertion assertion)
throws EncryptionException
assertion - the Assertion to encrypt
EncryptionException - thrown when encryption generates an error
public EncryptedID encryptAsID(Assertion assertion)
throws EncryptionException
assertion - the Assertion to encrypt
EncryptionException - thrown when encryption generates an error
public EncryptedAttribute encrypt(Attribute attribute)
throws EncryptionException
attribute - the Attribute to encrypt
EncryptionException - thrown when encryption generates an error
public EncryptedID encrypt(NameID nameID)
throws EncryptionException
nameID - the NameID to encrypt
EncryptionException - thrown when encryption generates an error
public EncryptedID encrypt(BaseID baseID)
throws EncryptionException
baseID - the BaseID to encrypt
EncryptionException - thrown when encryption generates an error
public NewEncryptedID encrypt(NewID newID)
throws EncryptionException
newID - the NewID to encrypt
EncryptionException - thrown when encryption generates an error
private EncryptedElementType encrypt(XMLObject xmlObject,
QName encElementName)
throws EncryptionException
EncryptedElementType.
xmlObject - the XMLObject to encryptencElementName - the QName of the specialization of EncryptedElementType to return
EncryptedElementType
EncryptionException - thrown when encryption generates an error
protected 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 objects
EncryptionException - thrown when processing encounters an error
protected 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 objects
protected 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 store
protected void linkSinglePeerKey(EncryptedData encData,
EncryptedKey encKey)
encData - the EncryptedDataencKey - the EncryptedKey
protected void linkMultiplePeerKeys(EncryptedData encData,
List<EncryptedKey> encKeys)
encData - the EncryptedDataencKeys - the list of EncryptedKeys
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||