public class WSSecEncrypt extends WSSecEncryptedKey
| Modifier and Type | Field and Description |
|---|---|
protected byte[] |
embeddedKey |
protected String |
embeddedKeyName |
protected String |
encCanonAlgo |
protected SecurityTokenReference |
securityTokenReference
SecurityTokenReference to be inserted into EncryptedData/keyInfo element.
|
protected String |
symEncAlgo |
protected javax.crypto.SecretKey |
symmetricKey
Symmetric key used in the EncrytpedKey.
|
protected boolean |
useKeyIdentifier |
bstToken, customEKTokenId, customEKTokenValueType, document, encKeyId, encrUser, encryptedEphemeralKey, encryptedKeyElement, envelope, ephemeralKey, keyEncAlgo, keySize, useThisCert| Constructor and Description |
|---|
WSSecEncrypt()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addExternalRefElement(org.w3c.dom.Element dataRef,
WSSecHeader secHeader)
Adds (prepends) the external Reference element to the Security header.
|
void |
addInternalRefElement(org.w3c.dom.Element dataRef)
Adds the internal Reference element to this Encrypt data.
|
org.w3c.dom.Document |
build(org.w3c.dom.Document doc,
Crypto crypto,
WSSecHeader secHeader)
Builds the SOAP envelope with encrypted Body and adds encrypted key.
|
static org.w3c.dom.Element |
createDataRefList(org.w3c.dom.Document doc,
org.w3c.dom.Element referenceList,
Vector encDataRefs)
Create DOM subtree for
xenc:EncryptedKey |
org.w3c.dom.Element |
encryptForExternalRef(org.w3c.dom.Element dataRef,
Vector references)
Encrypt one or more parts or elements of the message (external).
|
org.w3c.dom.Element |
encryptForInternalRef(org.w3c.dom.Element dataRef,
Vector references)
Encrypt one or more parts or elements of the message (internal).
|
SecurityTokenReference |
getSecurityTokenReference() |
String |
getSymmetricEncAlgorithm()
Get the name of symmetric encryption algorithm to use.
|
javax.crypto.SecretKey |
getSymmetricKey() |
boolean |
getUseKeyIdentifier()
Returns if Key Identifiers should be used in KeyInfo
|
boolean |
isEncryptSymmKey() |
void |
prepare(org.w3c.dom.Document doc,
Crypto crypto)
Initialize a WSSec Encrypt.
|
void |
setCustomReferenceValue(String customReferenceValue) |
void |
setEmbeddedKeyName(String embeddedKeyName)
Set the key name for EMBEDDED_KEYNAME
|
void |
setEncCanonicalization(String algo)
Set the name of an optional canonicalization algorithm to use before
encryption.
|
void |
setEncKeyIdDirectId(boolean b) |
void |
setEncKeyValueType(String e) |
void |
setEncryptSymmKey(boolean encryptSymmKey) |
void |
setKey(byte[] key)
Sets the key to use during embedded encryption.
|
void |
setKeyEnc(String keyEnc)
Sets the algorithm to encode the symmetric key.
|
void |
setSecurityTokenReference(SecurityTokenReference reference) |
void |
setSymmetricEncAlgorithm(String algo)
Set the name of the symmetric encryption algorithm to use.
|
void |
setSymmetricKey(javax.crypto.SecretKey key)
Set the symmetric key to be used for encryption
|
void |
setUseKeyIdentifier(boolean useKeyIdentifier)
Set this true if a key identifier must be used in the KeyInfo
|
appendBSTElementToHeader, appendToHeader, createCipherValue, createEncryptedKey, createEnrcyptedKey, generateEphemeralKey, getBinarySecurityTokenElement, getBSTTokenId, getEncryptedEphemeralKey, getEncryptedKeyElement, getEphemeralKey, getId, isCertSet, prepareInternal, prependBSTElementToHeader, prependToHeader, setCustomEKTokenId, setCustomEKTokenValueType, setDocument, setEncKeyId, setEncryptedKeyElement, setEphemeralKey, setKeyEncAlgo, setKeySize, setUserInfo, setUseThisCertgetKeyIdentifierType, setBodyID, setKeyIdentifierType, setParts, setUserInfo, setWsConfig, setWsuIdprotected String symEncAlgo
protected String encCanonAlgo
protected byte[] embeddedKey
protected String embeddedKeyName
protected boolean useKeyIdentifier
protected javax.crypto.SecretKey symmetricKey
protected SecurityTokenReference securityTokenReference
public void setKey(byte[] key)
key - to use during encryption. The key must fit the selected
symmetrical encryption algorithmpublic void setKeyEnc(String keyEnc)
WSConstants.KEYTRANSPORT_RSA15 algorithm.keyEnc - specifies the key encoding algorithm.WSConstants.KEYTRANSPORT_RSA15,
WSConstants.KEYTRANSPORT_RSAOEPpublic void setEmbeddedKeyName(String embeddedKeyName)
embeddedKeyName - public void setUseKeyIdentifier(boolean useKeyIdentifier)
useKeyIdentifier - public void setSymmetricEncAlgorithm(String algo)
algo - Is the name of the encryption algorithmWSConstants.TRIPLE_DES,
WSConstants.AES_128,
WSConstants.AES_192,
WSConstants.AES_256public void setEncCanonicalization(String algo)
algo - Is the name of the canonicalization algorithmpublic String getSymmetricEncAlgorithm()
WSConstants.TRIPLE_DES,
WSConstants.AES_128,
WSConstants.AES_192,
WSConstants.AES_256public boolean getUseKeyIdentifier()
public void prepare(org.w3c.dom.Document doc,
Crypto crypto)
throws WSSecurityException
prepare in class WSSecEncryptedKeydoc - The SOAP envelope as Documentcrypto - An instance of the Crypto API to handle keystore and certificatesWSSecurityExceptionpublic org.w3c.dom.Document build(org.w3c.dom.Document doc,
Crypto crypto,
WSSecHeader secHeader)
throws WSSecurityException
doc - the SOAP envelope as Document with plain text Bodycrypto - an instance of the Crypto API to handle keystore and CertificatessecHeader - the security header element to hold the encrypted key element.DocumentWSSecurityExceptionpublic org.w3c.dom.Element encryptForInternalRef(org.w3c.dom.Element dataRef,
Vector references)
throws WSSecurityException
WSEncryptionPart object that
contain information about the elements to encrypt. The method call the
encryption method, takes the reference information generated during
encryption and add this to the xenc:Reference element.
This method can be called after prepare() and can be
called multiple times to encrypt a number of parts or elements.
The method generates a xenc:Reference element that must
be added to this token. See addInternalRefElement().
If the dataRef parameter is null the method
creates and initializes a new Reference element.dataRef - A xenc:Reference element or nullreferences - A vector containing WSEncryptionPart objectsxenc:Reference elementWSSecurityExceptionpublic org.w3c.dom.Element encryptForExternalRef(org.w3c.dom.Element dataRef,
Vector references)
throws WSSecurityException
WSEncryptionPart object that
contain information about the elements to encrypt. The method call the
encryption method, takes the reference information generated during
encryption and add this to the xenc:Reference element.
This method can be called after prepare() and can be
called multiple times to encrypt a number of parts or elements.
The method generates a xenc:Reference element that must
be added to the SecurityHeader. See addExternalRefElement().
If the dataRef parameter is null the method
creates and initializes a new Reference element.dataRef - A xenc:Reference element or nullreferences - A vector containing WSEncryptionPart objectsxenc:Reference elementWSSecurityExceptionpublic void addInternalRefElement(org.w3c.dom.Element dataRef)
encryptForInternalRef() method. The reference element is
added to the EncryptedKey element of this encrypt block.dataRef - The internal enc:Reference elementpublic void addExternalRefElement(org.w3c.dom.Element dataRef,
WSSecHeader secHeader)
encryptForExternalRef() method. The method prepends the
reference element in the SecurityHeader.dataRef - The external enc:Reference elementsecHeader - The security header.public static org.w3c.dom.Element createDataRefList(org.w3c.dom.Document doc,
org.w3c.dom.Element referenceList,
Vector encDataRefs)
xenc:EncryptedKeydoc - the SOAP envelope parent documentreferenceList - encDataRefs - xenc:EncryptedKey elementpublic javax.crypto.SecretKey getSymmetricKey()
public void setSymmetricKey(javax.crypto.SecretKey key)
key - public SecurityTokenReference getSecurityTokenReference()
public void setSecurityTokenReference(SecurityTokenReference reference)
reference - public boolean isEncryptSymmKey()
public void setEncryptSymmKey(boolean encryptSymmKey)
public void setCustomReferenceValue(String customReferenceValue)
public void setEncKeyValueType(String e)
public void setEncKeyIdDirectId(boolean b)
Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.