public abstract class EncryptedElement extends XMLElement implements SAML2EncryptedType
Modifier | Constructor and Description |
---|---|
protected |
EncryptedElement(org.w3c.dom.Document owner, java.lang.String nsURI, java.lang.String localName)
Creates a new
EncryptedElement instance. |
|
EncryptedElement(org.w3c.dom.Element element)
Creates a new
EncryptedElement instance from the given Element node. |
|
EncryptedElement(org.w3c.dom.Element element, java.lang.String systemId)
Creates a new
EncryptedElement instance from the given Element node. |
Modifier and Type | Method and Description |
---|---|
void |
addEncryptedKey(XEEncryptedKey encKey)
Add a wrapped key.
|
org.w3c.dom.Element |
decryptElement(java.security.Key key)
Decrypt the given EncryptedData element of data type XML Element or XML Content, and replaces the EncryptedData element with the result.
|
XEEncryptedData |
encryptElement(org.w3c.dom.Element element, java.lang.String dataEncAlg, javax.crypto.SecretKey dataEncKey, java.lang.String dataEncKeyName)
Encrypt the
Element with the given algorithm and content encryption key, where the key is identified by a key name. |
XEEncryptedData |
encryptElement(org.w3c.dom.Element element, java.lang.String dataEncAlg, javax.crypto.SecretKey dataEncKey, java.lang.String keyEncAlg, java.security.Key keyEncKey, java.lang.String keyEncKeyName)
Encrypt
Element with the given algorithm and key, where the data encryption key is encrypted with the given key encryption key. |
XEEncryptedData |
getEncryptedData()
Return the encrypted EndpointType.
|
java.util.List |
getEncryptedKeys()
Returns the list of wrapped keys.
|
protected void |
removeChildren(java.lang.String ns, java.lang.String tag) |
void |
setEncryptedData(XEEncryptedData encData)
Set the encrypted content.
|
addNSPrefixAttr, addNSPrefixAttr, addNSPrefixAttrDefault, addNSPrefixAttrDefault, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getChildElementsByTagName, getChildElementsByTagName, getChildElementsByTagNameNS, getChildElementsByTagNameNS, getDefaultNSPrefix, getElement, getElementsByTagName, getElementsByTagNameNS, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setDefaultNSPrefix
appendChild, appendChild, appendTo, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNode, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getSystemId, hasAttributes, hasChildNodes, insertBefore, insertBefore, isSupported, normalize, removeChild, removeChild, replaceChild, replaceChild, setNodeValue, setPrefix, setSystemId, toBytesXML, toStringXML
public EncryptedElement(org.w3c.dom.Element element) throws org.w3c.dom.DOMException
EncryptedElement
instance from the given Element node.element
- A EncryptedElement element.org.w3c.dom.DOMException
public EncryptedElement(org.w3c.dom.Element element, java.lang.String systemId) throws org.w3c.dom.DOMException
EncryptedElement
instance from the given Element node.element
- A EncryptedElement element.systemId
- The URI string system ID for the EncryptedElement
.org.w3c.dom.DOMException
protected EncryptedElement(org.w3c.dom.Document owner, java.lang.String nsURI, java.lang.String localName) throws org.w3c.dom.DOMException
EncryptedElement
instance. This is for use in any sub-class for extension of this SAML 2.0 element.owner
- The owner document of the new EncryptedElement.nsURI
- The namespace URI in which the new EncryptedElement is to be created.localName
- The localName of the element represented by the class that extends this class.org.w3c.dom.DOMException
public XEEncryptedData encryptElement(org.w3c.dom.Element element, java.lang.String dataEncAlg, javax.crypto.SecretKey dataEncKey, java.lang.String dataEncKeyName) throws XEException
Element
with the given algorithm and content encryption key, where the key is identified by a key name.
The supported data encrytion algorithms are:
element
- The element to encrypt.dataEncAlg
- The URI identifying the data encryption algorithm.dataEncKey
- The data encryption key. If null
, a encryption key will be randomly generated.dataEncKeyName
- The name identifying the data encryption key, optional.XEEncryptedData
which replaces the nameID element.XEException
- If an error occurs in encrypting the data.public XEEncryptedData encryptElement(org.w3c.dom.Element element, java.lang.String dataEncAlg, javax.crypto.SecretKey dataEncKey, java.lang.String keyEncAlg, java.security.Key keyEncKey, java.lang.String keyEncKeyName) throws XEException
Element
with the given algorithm and key, where the data encryption key is encrypted with the given key encryption key.
The supported data encrytion algorithms are:
The supported key encrytion algorithms are:
For RSA-OAEP, the following parameters are used:
SHA-1
element
- The element to encrypt.dataEncAlg
- The URI identifying the data encryption algorithm.dataEncKey
- The data encryption key. If null
, a encryption key will be randomly generated.keyEncAlg
- The URI identifying the key encryption algorithm.keyEncKey
- The key encryption key.keyEncKeyName
- The name identifying the key encryption key, optional.XEEncryptedData
which replaces the nameID element.XEException
- If an error occurs in encrypting the data.public org.w3c.dom.Element decryptElement(java.security.Key key) throws XEException
If the data encryption key is encrypted, the key decryption key will be obtained from the EncryptedData's KeyInfo element. This may be a recursive step, as the key-encryption key may itself be encrypted. The decryption key for the bottom EncryptedKey element (or the EncryptedData element itself if the data encryption key is not encrypted) is either provided by the user, or can be derived by the Diffe-Hellman key agreement method. In the latter case the Diffie-Hellamn private key must be provided by the user.
key
- Data- or key-decryption key, or a Diffie-Hellman private key.XEException
protected void removeChildren(java.lang.String ns, java.lang.String tag)
public void setEncryptedData(XEEncryptedData encData)
setEncryptedData
in interface SAML2EncryptedType
encData
- The XEEncryptedData
object containing the encrypted EndpointType.public XEEncryptedData getEncryptedData()
getEncryptedData
in interface SAML2EncryptedType
List
of XEEncryptedData
object or null
if empty.public void addEncryptedKey(XEEncryptedKey encKey)
addEncryptedKey
in interface SAML2EncryptedType
encKey
- The XEEncryptedKey
to add.public java.util.List getEncryptedKeys()
getEncryptedKeys
in interface SAML2EncryptedType
List
of XEEncryptedKey
objects or null
if empty.