org.apache.ws.security.message
Class WSSecDKEncrypt

java.lang.Object
  extended byorg.apache.ws.security.message.WSSecBase
      extended byorg.apache.ws.security.message.WSSecDerivedKeyBase
          extended byorg.apache.ws.security.message.WSSecDKEncrypt

public class WSSecDKEncrypt
extends WSSecDerivedKeyBase

Encrypts and signs parts of a message with derived keys derived from a symmetric key. This symmetric key will be included as an EncryptedKey

Author:
Ruchith Fernando (ruchith.fernando@gmail.com)

Field Summary
protected  java.lang.String symEncAlgo
           
 
Fields inherited from class org.apache.ws.security.message.WSSecDerivedKeyBase
clientLabel, derivedKeyBytes, derivedKeyLength, dkt, dktId, document, envelope, ephemeralKey, serviceLabel, strElem, tokenIdentifier
 
Fields inherited from class org.apache.ws.security.message.WSSecBase
doDebug, keyIdentifierType, parts, password, user, wssConfig
 
Constructor Summary
WSSecDKEncrypt()
           
 
Method Summary
 void addExternalRefElement(org.w3c.dom.Element referenceList, WSSecHeader secHeader)
          Adds (prepends) the external Reference element to the Security header.
 org.w3c.dom.Document build(org.w3c.dom.Document doc, WSSecHeader secHeader)
           
static org.w3c.dom.Element createDataRefList(org.w3c.dom.Document doc, org.w3c.dom.Element referenceList, java.util.Vector encDataRefs)
           
 org.w3c.dom.Element encryptForExternalRef(org.w3c.dom.Element dataRef, java.util.Vector references)
          Encrypt one or more parts or elements of the message (external).
protected  int getDerivedKeyLength()
          The derived key will change depending on the sig/encr algorithm.
 void setSymmetricEncAlgorithm(java.lang.String algo)
           
 
Methods inherited from class org.apache.ws.security.message.WSSecDerivedKeyBase
appendDKElementToHeader, getdktElement, getId, getTokenIdentifier, prepare, prependDKElementToHeader, setClientLabel, setCustomValueType, setDerivedKeyLength, setExternalKey, setExternalKey, setServiceLabel, setWscVersion
 
Methods inherited from class org.apache.ws.security.message.WSSecBase
getKeyIdentifierType, setBodyID, setKeyIdentifierType, setParts, setUserInfo, setWsConfig, setWsuId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

symEncAlgo

protected java.lang.String symEncAlgo
Constructor Detail

WSSecDKEncrypt

public WSSecDKEncrypt()
Method Detail

build

public org.w3c.dom.Document build(org.w3c.dom.Document doc,
                                  WSSecHeader secHeader)
                           throws WSSecurityException,
                                  ConversationException
Throws:
WSSecurityException
ConversationException

encryptForExternalRef

public org.w3c.dom.Element encryptForExternalRef(org.w3c.dom.Element dataRef,
                                                 java.util.Vector references)
                                          throws WSSecurityException
Encrypt one or more parts or elements of the message (external). This method takes a vector of 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.

Parameters:
dataRef - A xenc:Reference element or null
references - A vector containing WSEncryptionPart objects
Returns:
Returns the updated xenc:Reference element
Throws:
WSSecurityException

addExternalRefElement

public void addExternalRefElement(org.w3c.dom.Element referenceList,
                                  WSSecHeader secHeader)
Adds (prepends) the external Reference element to the Security header. The reference element must be created by the encryptForExternalRef() method. The method adds the reference element in the SecurityHeader.

Parameters:
referenceList - The external enc:Reference element
secHeader - The security header.

createDataRefList

public static org.w3c.dom.Element createDataRefList(org.w3c.dom.Document doc,
                                                    org.w3c.dom.Element referenceList,
                                                    java.util.Vector encDataRefs)

setSymmetricEncAlgorithm

public void setSymmetricEncAlgorithm(java.lang.String algo)

getDerivedKeyLength

protected int getDerivedKeyLength()
                           throws WSSecurityException
Description copied from class: WSSecDerivedKeyBase
The derived key will change depending on the sig/encr algorithm. Therefore the child classes are expected to provide this value.

Specified by:
getDerivedKeyLength in class WSSecDerivedKeyBase
Returns:
the derived key length
Throws:
WSSecurityException
See Also:
WSSecDerivedKeyBase.getDerivedKeyLength()


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.