You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2016/01/19 00:07:59 UTC

svn commit: r1725383 [26/41] - in /axis/site/axis2/java/rampart-staging: ./ apidocs/ apidocs/org/apache/rahas/ apidocs/org/apache/rahas/class-use/ apidocs/org/apache/rahas/client/ apidocs/org/apache/rahas/impl/ apidocs/org/apache/rahas/impl/class-use/ ...

Modified: axis/site/axis2/java/rampart-staging/code-coverage/org.apache.rampart.builder/AsymmetricBindingBuilder.java.html
URL: http://svn.apache.org/viewvc/axis/site/axis2/java/rampart-staging/code-coverage/org.apache.rampart.builder/AsymmetricBindingBuilder.java.html?rev=1725383&r1=1725382&r2=1725383&view=diff
==============================================================================
--- axis/site/axis2/java/rampart-staging/code-coverage/org.apache.rampart.builder/AsymmetricBindingBuilder.java.html (original)
+++ axis/site/axis2/java/rampart-staging/code-coverage/org.apache.rampart.builder/AsymmetricBindingBuilder.java.html Mon Jan 18 23:07:55 2016
@@ -27,14 +27,12 @@ import org.apache.rampart.policy.Rampart
 import org.apache.rampart.policy.SupportingPolicyData;
 import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.rampart.util.RampartUtil;
-import org.apache.ws.secpolicy.SPConstants;
 import org.apache.ws.secpolicy.model.AlgorithmSuite;
 import org.apache.ws.secpolicy.model.SupportingToken;
 import org.apache.ws.secpolicy.model.Token;
 import org.apache.ws.secpolicy.model.X509Token;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSEncryptionPart;
-import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.conversation.ConversationException;
 import org.apache.ws.security.handler.WSHandlerConstants;
@@ -50,10 +48,10 @@ import org.w3c.dom.Element;
 import javax.xml.crypto.dsig.Reference;
 import java.util.*;
 
-<span class="fc" id="L53">public class AsymmetricBindingBuilder extends BindingBuilder {</span>
+<span class="fc" id="L51">public class AsymmetricBindingBuilder extends BindingBuilder {</span>
 
-<span class="fc" id="L55">    private static Log log = LogFactory.getLog(AsymmetricBindingBuilder.class);</span>
-<span class="fc" id="L56">    private static Log tlog = LogFactory.getLog(RampartConstants.TIME_LOG);</span>
+<span class="fc" id="L53">    private static Log log = LogFactory.getLog(AsymmetricBindingBuilder.class);</span>
+<span class="fc" id="L54">    private static Log tlog = LogFactory.getLog(RampartConstants.TIME_LOG);</span>
 
     private WSSecEncryptedKey encrKey;
     
@@ -61,7 +59,7 @@ import java.util.*;
     
     private byte[] encryptedKeyValue;
 
-<span class="fc" id="L64">    private List&lt;byte[]&gt; signatureValues = new ArrayList&lt;byte[]&gt;();</span>
+<span class="fc" id="L62">    private List&lt;byte[]&gt; signatureValues = new ArrayList&lt;byte[]&gt;();</span>
 
     private Element encrTokenElement;
     
@@ -69,7 +67,7 @@ import java.util.*;
     
     private Element encrDKTElement;
 
-<span class="fc" id="L72">    private List&lt;WSEncryptionPart&gt; sigParts = new ArrayList&lt;WSEncryptionPart&gt;();</span>
+<span class="fc" id="L70">    private List&lt;WSEncryptionPart&gt; sigParts = new ArrayList&lt;WSEncryptionPart&gt;();</span>
     
     private Element signatureElement;
 
@@ -77,493 +75,493 @@ import java.util.*;
 
     
     public void build(RampartMessageData rmd) throws RampartException {
-<span class="fc" id="L80">        log.debug(&quot;AsymmetricBindingBuilder build invoked&quot;);</span>
+<span class="fc" id="L78">        log.debug(&quot;AsymmetricBindingBuilder build invoked&quot;);</span>
 
-<span class="fc" id="L82">        RampartPolicyData rpd = rmd.getPolicyData();</span>
-<span class="fc bfc" id="L83" title="All 2 branches covered.">        if (rpd.isIncludeTimestamp()) {</span>
-<span class="fc" id="L84">            this.addTimestamp(rmd);</span>
+<span class="fc" id="L80">        RampartPolicyData rpd = rmd.getPolicyData();</span>
+<span class="fc bfc" id="L81" title="All 2 branches covered.">        if (rpd.isIncludeTimestamp()) {</span>
+<span class="fc" id="L82">            this.addTimestamp(rmd);</span>
         }
 
-<span class="fc bfc" id="L87" title="All 2 branches covered.">        if (RampartUtil.encryptFirst(rpd)) {</span>
-<span class="fc" id="L88">            this.doEncryptBeforeSig(rmd);</span>
+<span class="fc bfc" id="L85" title="All 2 branches covered.">        if (RampartUtil.encryptFirst(rpd)) {</span>
+<span class="fc" id="L86">            this.doEncryptBeforeSig(rmd);</span>
         } else {
-<span class="fc" id="L90">            this.doSignBeforeEncrypt(rmd);</span>
+<span class="fc" id="L88">            this.doSignBeforeEncrypt(rmd);</span>
         }
 
-<span class="fc" id="L93">        log.debug(&quot;AsymmetricBindingBuilder build invoked : DONE&quot;);</span>
-<span class="fc" id="L94">    }</span>
+<span class="fc" id="L91">        log.debug(&quot;AsymmetricBindingBuilder build invoked : DONE&quot;);</span>
+<span class="fc" id="L92">    }</span>
 
     private void doEncryptBeforeSig(RampartMessageData rmd)
             throws RampartException {
     	
-<span class="fc" id="L99">    	long t0 = 0, t1 = 0, t2 = 0;</span>
-<span class="pc bpc" id="L100" title="1 of 2 branches missed.">    	if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L101">    		t0 = System.currentTimeMillis();</span>
+<span class="fc" id="L97">    	long t0 = 0, t1 = 0, t2 = 0;</span>
+<span class="pc bpc" id="L98" title="1 of 2 branches missed.">    	if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L99">    		t0 = System.currentTimeMillis();</span>
     	}
-<span class="fc" id="L103">        RampartPolicyData rpd = rmd.getPolicyData();</span>
-<span class="fc" id="L104">        Document doc = rmd.getDocument();</span>
-<span class="fc" id="L105">        RampartConfig config = rpd.getRampartConfig();</span>
+<span class="fc" id="L101">        RampartPolicyData rpd = rmd.getPolicyData();</span>
+<span class="fc" id="L102">        Document doc = rmd.getDocument();</span>
+<span class="fc" id="L103">        RampartConfig config = rpd.getRampartConfig();</span>
 
         /*
          * We need to hold on to these two element to use them as refence in the
          * case of encypting the signature
          */
-<span class="fc" id="L111">        Element encrDKTokenElem = null;</span>
-<span class="fc" id="L112">        WSSecEncrypt encr = null;</span>
-<span class="fc" id="L113">        refList = null;</span>
-<span class="fc" id="L114">        WSSecDKEncrypt dkEncr = null;</span>
+<span class="fc" id="L109">        Element encrDKTokenElem = null;</span>
+<span class="fc" id="L110">        WSSecEncrypt encr = null;</span>
+<span class="fc" id="L111">        refList = null;</span>
+<span class="fc" id="L112">        WSSecDKEncrypt dkEncr = null;</span>
 
         /*
          * We MUST use keys derived from the same token
          */
-<span class="fc" id="L119">        Token encryptionToken = null;</span>
-<span class="fc bfc" id="L120" title="All 2 branches covered.">        if(rmd.isInitiator()) {</span>
-<span class="fc" id="L121">            encryptionToken = rpd.getRecipientToken();</span>
+<span class="fc" id="L117">        Token encryptionToken = null;</span>
+<span class="fc bfc" id="L118" title="All 2 branches covered.">        if(rmd.isInitiator()) {</span>
+<span class="fc" id="L119">            encryptionToken = rpd.getRecipientToken();</span>
         } else {
-<span class="fc" id="L123">            encryptionToken = rpd.getInitiatorToken();</span>
+<span class="fc" id="L121">            encryptionToken = rpd.getInitiatorToken();</span>
         }
-<span class="fc" id="L125">        List&lt;WSEncryptionPart&gt; encrParts = RampartUtil.getEncryptedParts(rmd);</span>
+<span class="fc" id="L123">        List&lt;WSEncryptionPart&gt; encrParts = RampartUtil.getEncryptedParts(rmd);</span>
         
         //Signed parts are determined before encryption because encrypted signed  headers
         //will not be included otherwise
-<span class="fc" id="L129">        this.sigParts = RampartUtil.getSignedParts(rmd);</span>
+<span class="fc" id="L127">        this.sigParts = RampartUtil.getSignedParts(rmd);</span>
         
-<span class="pc bpc" id="L131" title="3 of 4 branches missed.">        if(encryptionToken == null &amp;&amp; encrParts.size() &gt; 0) {</span>
-<span class="nc" id="L132">            throw new RampartException(&quot;encryptionTokenMissing&quot;);</span>
+<span class="pc bpc" id="L129" title="3 of 4 branches missed.">        if(encryptionToken == null &amp;&amp; encrParts.size() &gt; 0) {</span>
+<span class="nc" id="L130">            throw new RampartException(&quot;encryptionTokenMissing&quot;);</span>
         }
         
-<span class="pc bpc" id="L135" title="2 of 4 branches missed.">        if (encryptionToken != null &amp;&amp; encrParts.size() &gt; 0) {</span>
+<span class="pc bpc" id="L133" title="2 of 4 branches missed.">        if (encryptionToken != null &amp;&amp; encrParts.size() &gt; 0) {</span>
             
             //Check for RampartConfig assertion
-<span class="pc bpc" id="L138" title="1 of 2 branches missed.">            if(rpd.getRampartConfig() == null) {</span>
+<span class="pc bpc" id="L136" title="1 of 2 branches missed.">            if(rpd.getRampartConfig() == null) {</span>
                 //We'er missing the extra info rampart needs
-<span class="nc" id="L140">                throw new RampartException(&quot;rampartConigMissing&quot;);</span>
+<span class="nc" id="L138">                throw new RampartException(&quot;rampartConigMissing&quot;);</span>
             }
             
-<span class="fc bfc" id="L143" title="All 2 branches covered.">            if (encryptionToken.isDerivedKeys()) {</span>
+<span class="fc bfc" id="L141" title="All 2 branches covered.">            if (encryptionToken.isDerivedKeys()) {</span>
                 try {
-<span class="fc" id="L145">                    this.setupEncryptedKey(rmd, encryptionToken);</span>
+<span class="fc" id="L143">                    this.setupEncryptedKey(rmd, encryptionToken);</span>
                     // Create the DK encryption builder
-<span class="fc" id="L147">                    dkEncr = new WSSecDKEncrypt();</span>
-<span class="fc" id="L148">                    dkEncr.setParts(encrParts);</span>
-<span class="fc" id="L149">                    dkEncr.setExternalKey(this.encryptedKeyValue, </span>
+<span class="fc" id="L145">                    dkEncr = new WSSecDKEncrypt();</span>
+<span class="fc" id="L146">                    dkEncr.setParts(encrParts);</span>
+<span class="fc" id="L147">                    dkEncr.setExternalKey(this.encryptedKeyValue, </span>
                             this.encryptedKeyId);
-<span class="fc" id="L151">                    dkEncr.setDerivedKeyLength(rpd.getAlgorithmSuite().getEncryptionDerivedKeyLength()/8);</span>
-<span class="fc" id="L152">                    dkEncr.prepare(doc);</span>
+<span class="fc" id="L149">                    dkEncr.setDerivedKeyLength(rpd.getAlgorithmSuite().getEncryptionDerivedKeyLength()/8);</span>
+<span class="fc" id="L150">                    dkEncr.prepare(doc);</span>
 
                     // Get and add the DKT element
-<span class="fc" id="L155">                    this.encrDKTElement = dkEncr.getdktElement();</span>
-<span class="fc" id="L156">                    encrDKTokenElem = RampartUtil.appendChildToSecHeader(rmd, this.encrDKTElement);</span>
+<span class="fc" id="L153">                    this.encrDKTElement = dkEncr.getdktElement();</span>
+<span class="fc" id="L154">                    encrDKTokenElem = RampartUtil.appendChildToSecHeader(rmd, this.encrDKTElement);</span>
 
-<span class="fc" id="L158">                    refList = dkEncr.encryptForExternalRef(null, encrParts);</span>
+<span class="fc" id="L156">                    refList = dkEncr.encryptForExternalRef(null, encrParts);</span>
 
-<span class="nc" id="L160">                } catch (WSSecurityException e) {</span>
-<span class="nc" id="L161">                    throw new RampartException(&quot;errorCreatingEncryptedKey&quot;, e);</span>
-<span class="nc" id="L162">                } catch (ConversationException e) {</span>
-<span class="nc" id="L163">                    throw new RampartException(&quot;errorInDKEncr&quot;, e);</span>
-<span class="fc" id="L164">                }</span>
+<span class="nc" id="L158">                } catch (WSSecurityException e) {</span>
+<span class="nc" id="L159">                    throw new RampartException(&quot;errorCreatingEncryptedKey&quot;, e);</span>
+<span class="nc" id="L160">                } catch (ConversationException e) {</span>
+<span class="nc" id="L161">                    throw new RampartException(&quot;errorInDKEncr&quot;, e);</span>
+<span class="fc" id="L162">                }</span>
             } else {
                 try {
-<span class="fc" id="L167">                    encr = new WSSecEncrypt();</span>
-<span class="fc" id="L168">                    encr.setParts(encrParts);</span>
-<span class="fc" id="L169">                    encr.setWsConfig(rmd.getConfig());</span>
-<span class="fc" id="L170">                    encr.setDocument(doc);</span>
-<span class="fc" id="L171">                    RampartUtil.setEncryptionUser(rmd, encr);</span>
-<span class="fc" id="L172">                    encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption());</span>
-<span class="fc" id="L173">                    RampartUtil.setKeyIdentifierType(rmd, encr, encryptionToken);</span>
-<span class="fc" id="L174">                    encr.setKeyEncAlgo(rpd.getAlgorithmSuite().getAsymmetricKeyWrap());</span>
-<span class="fc" id="L175">                    encr.prepare(doc, RampartUtil.getEncryptionCrypto(config, rmd.getCustomClassLoader()));</span>
-
-<span class="fc" id="L177">                    Element bstElem = encr.getBinarySecurityTokenElement();</span>
-<span class="pc bpc" id="L178" title="1 of 2 branches missed.">                    if (bstElem != null) {</span>
-<span class="nc" id="L179">                        RampartUtil.appendChildToSecHeader(rmd, bstElem);</span>
+<span class="fc" id="L165">                    encr = new WSSecEncrypt();</span>
+<span class="fc" id="L166">                    encr.setParts(encrParts);</span>
+<span class="fc" id="L167">                    encr.setWsConfig(rmd.getConfig());</span>
+<span class="fc" id="L168">                    encr.setDocument(doc);</span>
+<span class="fc" id="L169">                    RampartUtil.setEncryptionUser(rmd, encr);</span>
+<span class="fc" id="L170">                    encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption());</span>
+<span class="fc" id="L171">                    RampartUtil.setKeyIdentifierType(rmd, encr, encryptionToken);</span>
+<span class="fc" id="L172">                    encr.setKeyEncAlgo(rpd.getAlgorithmSuite().getAsymmetricKeyWrap());</span>
+<span class="fc" id="L173">                    encr.prepare(doc, RampartUtil.getEncryptionCrypto(config, rmd.getCustomClassLoader()));</span>
+
+<span class="fc" id="L175">                    Element bstElem = encr.getBinarySecurityTokenElement();</span>
+<span class="pc bpc" id="L176" title="1 of 2 branches missed.">                    if (bstElem != null) {</span>
+<span class="nc" id="L177">                        RampartUtil.appendChildToSecHeader(rmd, bstElem);</span>
                     }
 
-<span class="fc" id="L182">                    this.encrTokenElement = encr.getEncryptedKeyElement();</span>
-<span class="fc" id="L183">                    this.encrTokenElement = RampartUtil.appendChildToSecHeader(rmd,</span>
+<span class="fc" id="L180">                    this.encrTokenElement = encr.getEncryptedKeyElement();</span>
+<span class="fc" id="L181">                    this.encrTokenElement = RampartUtil.appendChildToSecHeader(rmd,</span>
                             encrTokenElement);
 
-<span class="fc" id="L186">                    refList = encr.encryptForExternalRef(null, encrParts);</span>
+<span class="fc" id="L184">                    refList = encr.encryptForExternalRef(null, encrParts);</span>
 
-<span class="nc" id="L188">                } catch (WSSecurityException e) {</span>
-<span class="nc" id="L189">                    throw new RampartException(&quot;errorInEncryption&quot;, e);</span>
-<span class="fc" id="L190">                }</span>
+<span class="nc" id="L186">                } catch (WSSecurityException e) {</span>
+<span class="nc" id="L187">                    throw new RampartException(&quot;errorInEncryption&quot;, e);</span>
+<span class="fc" id="L188">                }</span>
             }
 
-<span class="fc" id="L193">            refList = RampartUtil.appendChildToSecHeader(rmd, refList);</span>
+<span class="fc" id="L191">            refList = RampartUtil.appendChildToSecHeader(rmd, refList);</span>
             
-<span class="pc bpc" id="L195" title="1 of 2 branches missed.">            if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L196">            	t1 = System.currentTimeMillis();</span>
+<span class="pc bpc" id="L193" title="1 of 2 branches missed.">            if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L194">            	t1 = System.currentTimeMillis();</span>
             }
 
-<span class="fc" id="L199">            this.setInsertionLocation(encrTokenElement);</span>
+<span class="fc" id="L197">            this.setInsertionLocation(encrTokenElement);</span>
 
-<span class="fc" id="L201">            RampartUtil.handleEncryptedSignedHeaders(encrParts, this.sigParts, doc);</span>
+<span class="fc" id="L199">            RampartUtil.handleEncryptedSignedHeaders(encrParts, this.sigParts, doc);</span>
 
             // TODO may contain deifferent types of objects as values, therefore cannot use strongly type maps
             // need to figure out a way
-<span class="fc" id="L205">            HashMap sigSuppTokMap = null;</span>
-<span class="fc" id="L206">            HashMap endSuppTokMap = null;</span>
-<span class="fc" id="L207">            HashMap sgndEndSuppTokMap = null;</span>
-<span class="fc" id="L208">            HashMap sgndEncSuppTokMap = null;</span>
-<span class="fc" id="L209">            HashMap endEncSuppTokMap = null;</span>
-<span class="fc" id="L210">            HashMap sgndEndEncSuppTokMap = null;</span>
+<span class="fc" id="L203">            HashMap sigSuppTokMap = null;</span>
+<span class="fc" id="L204">            HashMap endSuppTokMap = null;</span>
+<span class="fc" id="L205">            HashMap sgndEndSuppTokMap = null;</span>
+<span class="fc" id="L206">            HashMap sgndEncSuppTokMap = null;</span>
+<span class="fc" id="L207">            HashMap endEncSuppTokMap = null;</span>
+<span class="fc" id="L208">            HashMap sgndEndEncSuppTokMap = null;</span>
             
-<span class="pc bpc" id="L212" title="1 of 2 branches missed.">            if(this.timestampElement != null){</span>
-<span class="fc" id="L213">            	sigParts.add(RampartUtil.createEncryptionPart(WSConstants.TIMESTAMP_TOKEN_LN,</span>
+<span class="pc bpc" id="L210" title="1 of 2 branches missed.">            if(this.timestampElement != null){</span>
+<span class="fc" id="L211">            	sigParts.add(RampartUtil.createEncryptionPart(WSConstants.TIMESTAMP_TOKEN_LN,</span>
                             RampartUtil.addWsuIdToElement((OMElement) this.timestampElement)));
             }
             
-<span class="fc bfc" id="L217" title="All 2 branches covered.">            if (rmd.isInitiator()) {</span>
+<span class="fc bfc" id="L215" title="All 2 branches covered.">            if (rmd.isInitiator()) {</span>
 
                 // Now add the supporting tokens
-<span class="fc" id="L220">                SupportingToken sgndSuppTokens = rpd.getSignedSupportingTokens();</span>
-<span class="fc" id="L221">                sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);           </span>
+<span class="fc" id="L218">                SupportingToken sgndSuppTokens = rpd.getSignedSupportingTokens();</span>
+<span class="fc" id="L219">                sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);           </span>
                 
-<span class="fc" id="L223">                SupportingToken endSuppTokens = rpd.getEndorsingSupportingTokens();</span>
-<span class="fc" id="L224">                endSuppTokMap = this.handleSupportingTokens(rmd, endSuppTokens);</span>
+<span class="fc" id="L221">                SupportingToken endSuppTokens = rpd.getEndorsingSupportingTokens();</span>
+<span class="fc" id="L222">                endSuppTokMap = this.handleSupportingTokens(rmd, endSuppTokens);</span>
                 
-<span class="fc" id="L226">                SupportingToken sgndEndSuppTokens = rpd.getSignedEndorsingSupportingTokens();           </span>
-<span class="fc" id="L227">                sgndEndSuppTokMap = this.handleSupportingTokens(rmd, sgndEndSuppTokens);</span>
+<span class="fc" id="L224">                SupportingToken sgndEndSuppTokens = rpd.getSignedEndorsingSupportingTokens();           </span>
+<span class="fc" id="L225">                sgndEndSuppTokMap = this.handleSupportingTokens(rmd, sgndEndSuppTokens);</span>
                 
-<span class="fc" id="L229">                SupportingToken sgndEncryptedSuppTokens = rpd.getSignedEncryptedSupportingTokens();</span>
-<span class="fc" id="L230">                sgndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEncryptedSuppTokens);</span>
+<span class="fc" id="L227">                SupportingToken sgndEncryptedSuppTokens = rpd.getSignedEncryptedSupportingTokens();</span>
+<span class="fc" id="L228">                sgndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEncryptedSuppTokens);</span>
                 
-<span class="fc" id="L232">                SupportingToken endorsingEncryptedSuppTokens = rpd.getEndorsingEncryptedSupportingTokens();</span>
-<span class="fc" id="L233">                endEncSuppTokMap = this.handleSupportingTokens(rmd, endorsingEncryptedSuppTokens);</span>
+<span class="fc" id="L230">                SupportingToken endorsingEncryptedSuppTokens = rpd.getEndorsingEncryptedSupportingTokens();</span>
+<span class="fc" id="L231">                endEncSuppTokMap = this.handleSupportingTokens(rmd, endorsingEncryptedSuppTokens);</span>
                 
-<span class="fc" id="L235">                SupportingToken sgndEndEncSuppTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();           </span>
-<span class="fc" id="L236">                sgndEndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEndEncSuppTokens);</span>
+<span class="fc" id="L233">                SupportingToken sgndEndEncSuppTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();           </span>
+<span class="fc" id="L234">                sgndEndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEndEncSuppTokens);</span>
                 
-<span class="fc" id="L238">                List&lt;SupportingToken&gt; supportingToks = rpd.getSupportingTokensList();</span>
-<span class="pc bpc" id="L239" title="1 of 2 branches missed.">                for (SupportingToken supportingTok : supportingToks) {</span>
-<span class="nc" id="L240">                    this.handleSupportingTokens(rmd, supportingTok);</span>
-<span class="nc" id="L241">                } </span>
+<span class="fc" id="L236">                List&lt;SupportingToken&gt; supportingToks = rpd.getSupportingTokensList();</span>
+<span class="pc bpc" id="L237" title="1 of 2 branches missed.">                for (SupportingToken supportingTok : supportingToks) {</span>
+<span class="nc" id="L238">                    this.handleSupportingTokens(rmd, supportingTok);</span>
+<span class="nc" id="L239">                } </span>
                 
-<span class="fc" id="L243">                SupportingToken encryptedSupportingToks = rpd.getEncryptedSupportingTokens();</span>
-<span class="fc" id="L244">                this.handleSupportingTokens(rmd, encryptedSupportingToks);</span>
+<span class="fc" id="L241">                SupportingToken encryptedSupportingToks = rpd.getEncryptedSupportingTokens();</span>
+<span class="fc" id="L242">                this.handleSupportingTokens(rmd, encryptedSupportingToks);</span>
         
                 //Setup signature parts
-<span class="fc" id="L247">                sigParts = addSignatureParts(sigSuppTokMap, sigParts);</span>
-<span class="fc" id="L248">                sigParts = addSignatureParts(sgndEncSuppTokMap, sigParts);</span>
-<span class="fc" id="L249">                sigParts = addSignatureParts(sgndEndSuppTokMap, sigParts);</span>
-<span class="fc" id="L250">                sigParts = addSignatureParts(sgndEndEncSuppTokMap, sigParts);</span>
+<span class="fc" id="L245">                sigParts = addSignatureParts(sigSuppTokMap, sigParts);</span>
+<span class="fc" id="L246">                sigParts = addSignatureParts(sgndEncSuppTokMap, sigParts);</span>
+<span class="fc" id="L247">                sigParts = addSignatureParts(sgndEndSuppTokMap, sigParts);</span>
+<span class="fc" id="L248">                sigParts = addSignatureParts(sgndEndEncSuppTokMap, sigParts);</span>
                 
-<span class="fc" id="L252">            } else {</span>
-<span class="fc" id="L253">                addSignatureConfirmation(rmd, sigParts);</span>
+<span class="fc" id="L250">            } else {</span>
+<span class="fc" id="L251">                addSignatureConfirmation(rmd, sigParts);</span>
             }
             
-<span class="pc bpc" id="L256" title="4 of 10 branches missed.">            if(( sigParts.size() &gt; 0 &amp;&amp;</span>
+<span class="pc bpc" id="L254" title="4 of 10 branches missed.">            if(( sigParts.size() &gt; 0 &amp;&amp;</span>
                     rmd.isInitiator() &amp;&amp; rpd.getInitiatorToken() != null) || 
                     (!rmd.isInitiator() &amp;&amp; rpd.getRecipientToken() != null)) {
-<span class="fc" id="L259">                this.doSignature(rmd);</span>
+<span class="fc" id="L257">                this.doSignature(rmd);</span>
             }
 
-<span class="fc bfc" id="L262" title="All 2 branches covered.">            if (rmd.isInitiator()) {</span>
+<span class="fc bfc" id="L260" title="All 2 branches covered.">            if (rmd.isInitiator()) {</span>
 
-<span class="pc bpc" id="L264" title="1 of 2 branches missed.">                if (endSuppTokMap != null) {</span>
-<span class="fc" id="L265">                    endSuppTokMap.putAll(endEncSuppTokMap);</span>
+<span class="pc bpc" id="L262" title="1 of 2 branches missed.">                if (endSuppTokMap != null) {</span>
+<span class="fc" id="L263">                    endSuppTokMap.putAll(endEncSuppTokMap);</span>
                 }
                 // Do endorsed signatures
-<span class="fc" id="L268">                List&lt;byte[]&gt; endSigVals = this.doEndorsedSignatures(rmd,</span>
+<span class="fc" id="L266">                List&lt;byte[]&gt; endSigVals = this.doEndorsedSignatures(rmd,</span>
                         endSuppTokMap);
-<span class="pc bpc" id="L270" title="1 of 2 branches missed.">                for (byte[] endSigVal : endSigVals) {</span>
-<span class="nc" id="L271">                    signatureValues.add(endSigVal);</span>
-<span class="nc" id="L272">                }</span>
+<span class="pc bpc" id="L268" title="1 of 2 branches missed.">                for (byte[] endSigVal : endSigVals) {</span>
+<span class="nc" id="L269">                    signatureValues.add(endSigVal);</span>
+<span class="nc" id="L270">                }</span>
 
-<span class="fc" id="L274">                sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);</span>
+<span class="fc" id="L272">                sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);</span>
                 // Do signed endorsing signatures
-<span class="fc" id="L276">                List&lt;byte[]&gt; sigEndSigVals = this.doEndorsedSignatures(rmd,</span>
+<span class="fc" id="L274">                List&lt;byte[]&gt; sigEndSigVals = this.doEndorsedSignatures(rmd,</span>
                         sgndEndSuppTokMap);
-<span class="pc bpc" id="L278" title="1 of 2 branches missed.">                for (byte[] sigEndSigVal : sigEndSigVals) {</span>
-<span class="nc" id="L279">                    signatureValues.add(sigEndSigVal);</span>
-<span class="nc" id="L280">                }</span>
+<span class="pc bpc" id="L276" title="1 of 2 branches missed.">                for (byte[] sigEndSigVal : sigEndSigVals) {</span>
+<span class="nc" id="L277">                    signatureValues.add(sigEndSigVal);</span>
+<span class="nc" id="L278">                }</span>
             }
             
-<span class="pc bpc" id="L283" title="1 of 2 branches missed.">            if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L284">            	t2 = System.currentTimeMillis();</span>
-<span class="nc" id="L285">            	tlog.debug(&quot;Encryption took :&quot; + (t1 - t0)</span>
+<span class="pc bpc" id="L281" title="1 of 2 branches missed.">            if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L282">            	t2 = System.currentTimeMillis();</span>
+<span class="nc" id="L283">            	tlog.debug(&quot;Encryption took :&quot; + (t1 - t0)</span>
             				+&quot;, Signature tool :&quot; + (t2 - t1) );
             }
 
             // Check for signature protection
-<span class="pc bpc" id="L290" title="1 of 4 branches missed.">            if (rpd.isSignatureProtection() &amp;&amp; this.mainSigId != null) {</span>
-<span class="fc" id="L291">            	long t3 = 0, t4 = 0;</span>
-<span class="pc bpc" id="L292" title="1 of 2 branches missed.">            	if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L293">            		t3 = System.currentTimeMillis();</span>
+<span class="pc bpc" id="L288" title="1 of 4 branches missed.">            if (rpd.isSignatureProtection() &amp;&amp; this.mainSigId != null) {</span>
+<span class="fc" id="L289">            	long t3 = 0, t4 = 0;</span>
+<span class="pc bpc" id="L290" title="1 of 2 branches missed.">            	if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L291">            		t3 = System.currentTimeMillis();</span>
             	}
 
-<span class="fc" id="L296">                List&lt;WSEncryptionPart&gt; secondEncrParts = new ArrayList&lt;WSEncryptionPart&gt;();</span>
+<span class="fc" id="L294">                List&lt;WSEncryptionPart&gt; secondEncrParts = new ArrayList&lt;WSEncryptionPart&gt;();</span>
 
                 // Now encrypt the signature using the above token
-<span class="fc" id="L299">                secondEncrParts.add(new WSEncryptionPart(this.mainSigId,</span>
+<span class="fc" id="L297">                secondEncrParts.add(new WSEncryptionPart(this.mainSigId,</span>
                         &quot;Element&quot;));
                 
-<span class="fc bfc" id="L302" title="All 2 branches covered.">                if(rmd.isInitiator()) {</span>
-<span class="pc bpc" id="L303" title="1 of 2 branches missed.">                    for (String anEncryptedTokensIdList : encryptedTokensIdList) {</span>
-<span class="nc" id="L304">                        secondEncrParts.add(new WSEncryptionPart(anEncryptedTokensIdList, &quot;Element&quot;));</span>
-<span class="nc" id="L305">                    }</span>
+<span class="fc bfc" id="L300" title="All 2 branches covered.">                if(rmd.isInitiator()) {</span>
+<span class="pc bpc" id="L301" title="1 of 2 branches missed.">                    for (String anEncryptedTokensIdList : encryptedTokensIdList) {</span>
+<span class="nc" id="L302">                        secondEncrParts.add(new WSEncryptionPart(anEncryptedTokensIdList, &quot;Element&quot;));</span>
+<span class="nc" id="L303">                    }</span>
                 }
 
-<span class="fc" id="L308">                Element secondRefList = null;</span>
+<span class="fc" id="L306">                Element secondRefList = null;</span>
 
-<span class="pc bpc" id="L310" title="1 of 2 branches missed.">                if (encryptionToken.isDerivedKeys()) {</span>
+<span class="pc bpc" id="L308" title="1 of 2 branches missed.">                if (encryptionToken.isDerivedKeys()) {</span>
                     try {
 
-<span class="nc" id="L313">                        secondRefList = dkEncr.encryptForExternalRef(null,</span>
+<span class="nc" id="L311">                        secondRefList = dkEncr.encryptForExternalRef(null,</span>
                                 secondEncrParts);
-<span class="nc" id="L315">                        RampartUtil.insertSiblingAfter(rmd, encrDKTokenElem,</span>
+<span class="nc" id="L313">                        RampartUtil.insertSiblingAfter(rmd, encrDKTokenElem,</span>
                                 secondRefList);
 
-<span class="nc" id="L318">                    } catch (WSSecurityException e) {</span>
-<span class="nc" id="L319">                        throw new RampartException(&quot;errorCreatingEncryptedKey&quot;,</span>
+<span class="nc" id="L316">                    } catch (WSSecurityException e) {</span>
+<span class="nc" id="L317">                        throw new RampartException(&quot;errorCreatingEncryptedKey&quot;,</span>
                                 e);
-<span class="nc" id="L321">                    }</span>
+<span class="nc" id="L319">                    }</span>
                 } else {
                     try {
                         // Encrypt, get hold of the ref list and add it
-<span class="fc" id="L325">                        secondRefList = encr.encryptForExternalRef(null,</span>
+<span class="fc" id="L323">                        secondRefList = encr.encryptForExternalRef(null,</span>
                                 secondEncrParts);
 
                         // Insert the ref list after the encrypted key elem
-<span class="fc" id="L329">                        this.setInsertionLocation(RampartUtil</span>
+<span class="fc" id="L327">                        this.setInsertionLocation(RampartUtil</span>
                                 .insertSiblingAfter(rmd, encrTokenElement,
                                         secondRefList));
-<span class="nc" id="L332">                    } catch (WSSecurityException e) {</span>
-<span class="nc" id="L333">                        throw new RampartException(&quot;errorInEncryption&quot;, e);</span>
-<span class="fc" id="L334">                    }</span>
-                }
-<span class="pc bpc" id="L336" title="1 of 2 branches missed.">                if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L337">            		t4 = System.currentTimeMillis();</span>
-<span class="nc" id="L338">            		tlog.debug(&quot;Signature protection took :&quot; + (t4 - t3));</span>
+<span class="nc" id="L330">                    } catch (WSSecurityException e) {</span>
+<span class="nc" id="L331">                        throw new RampartException(&quot;errorInEncryption&quot;, e);</span>
+<span class="fc" id="L332">                    }</span>
+                }
+<span class="pc bpc" id="L334" title="1 of 2 branches missed.">                if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L335">            		t4 = System.currentTimeMillis();</span>
+<span class="nc" id="L336">            		tlog.debug(&quot;Signature protection took :&quot; + (t4 - t3));</span>
             	}
             }
         }
         
         
 
-<span class="fc" id="L345">    }</span>
+<span class="fc" id="L343">    }</span>
 
     private void doSignBeforeEncrypt(RampartMessageData rmd)
             throws RampartException {
     	
-<span class="fc" id="L350">    	long t0 = 0, t1 = 0, t2 = 0;</span>
+<span class="fc" id="L348">    	long t0 = 0, t1 = 0, t2 = 0;</span>
     	        
-<span class="fc" id="L352">        RampartPolicyData rpd = rmd.getPolicyData();</span>
-<span class="fc" id="L353">        Document doc = rmd.getDocument();</span>
+<span class="fc" id="L350">        RampartPolicyData rpd = rmd.getPolicyData();</span>
+<span class="fc" id="L351">        Document doc = rmd.getDocument();</span>
 
-<span class="fc" id="L355">        HashMap sigSuppTokMap = null;</span>
-<span class="fc" id="L356">        HashMap endSuppTokMap = null;</span>
-<span class="fc" id="L357">        HashMap sgndEndSuppTokMap = null;</span>
-<span class="fc" id="L358">        HashMap sgndEncSuppTokMap = null;</span>
-<span class="fc" id="L359">        HashMap endEncSuppTokMap = null;</span>
-<span class="fc" id="L360">        HashMap sgndEndEncSuppTokMap = null;</span>
+<span class="fc" id="L353">        HashMap sigSuppTokMap = null;</span>
+<span class="fc" id="L354">        HashMap endSuppTokMap = null;</span>
+<span class="fc" id="L355">        HashMap sgndEndSuppTokMap = null;</span>
+<span class="fc" id="L356">        HashMap sgndEncSuppTokMap = null;</span>
+<span class="fc" id="L357">        HashMap endEncSuppTokMap = null;</span>
+<span class="fc" id="L358">        HashMap sgndEndEncSuppTokMap = null;</span>
         
-<span class="fc" id="L362">        sigParts = RampartUtil.getSignedParts(rmd);</span>
+<span class="fc" id="L360">        sigParts = RampartUtil.getSignedParts(rmd);</span>
         
         //Add timestamp
-<span class="fc bfc" id="L365" title="All 2 branches covered.">        if(this.timestampElement != null){</span>
-<span class="fc" id="L366">        	sigParts.add(new WSEncryptionPart(RampartUtil</span>
+<span class="fc bfc" id="L363" title="All 2 branches covered.">        if(this.timestampElement != null){</span>
+<span class="fc" id="L364">        	sigParts.add(new WSEncryptionPart(RampartUtil</span>
                 .addWsuIdToElement((OMElement) this.timestampElement)));
         }else{
-<span class="fc" id="L369">        	this.setInsertionLocation(null);</span>
+<span class="fc" id="L367">        	this.setInsertionLocation(null);</span>
         }
         
-<span class="pc bpc" id="L372" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L373">    		t0 = System.currentTimeMillis();</span>
+<span class="pc bpc" id="L370" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L371">    		t0 = System.currentTimeMillis();</span>
     	}
         
-<span class="fc bfc" id="L376" title="All 2 branches covered.">        if (rmd.isInitiator()) {</span>
+<span class="fc bfc" id="L374" title="All 2 branches covered.">        if (rmd.isInitiator()) {</span>
            
             //      Now add the supporting tokens
-<span class="fc" id="L379">            SupportingToken sgndSuppTokens = rpd.getSignedSupportingTokens();</span>
-<span class="fc" id="L380">            sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);           </span>
+<span class="fc" id="L377">            SupportingToken sgndSuppTokens = rpd.getSignedSupportingTokens();</span>
+<span class="fc" id="L378">            sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);           </span>
             
-<span class="fc" id="L382">            SupportingToken endSuppTokens = rpd.getEndorsingSupportingTokens();</span>
-<span class="fc" id="L383">            endSuppTokMap = this.handleSupportingTokens(rmd, endSuppTokens);</span>
+<span class="fc" id="L380">            SupportingToken endSuppTokens = rpd.getEndorsingSupportingTokens();</span>
+<span class="fc" id="L381">            endSuppTokMap = this.handleSupportingTokens(rmd, endSuppTokens);</span>
             
-<span class="fc" id="L385">            SupportingToken sgndEndSuppTokens = rpd.getSignedEndorsingSupportingTokens();           </span>
-<span class="fc" id="L386">            sgndEndSuppTokMap = this.handleSupportingTokens(rmd, sgndEndSuppTokens);</span>
+<span class="fc" id="L383">            SupportingToken sgndEndSuppTokens = rpd.getSignedEndorsingSupportingTokens();           </span>
+<span class="fc" id="L384">            sgndEndSuppTokMap = this.handleSupportingTokens(rmd, sgndEndSuppTokens);</span>
             
-<span class="fc" id="L388">            SupportingToken sgndEncryptedSuppTokens = rpd.getSignedEncryptedSupportingTokens();</span>
-<span class="fc" id="L389">            sgndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEncryptedSuppTokens);</span>
+<span class="fc" id="L386">            SupportingToken sgndEncryptedSuppTokens = rpd.getSignedEncryptedSupportingTokens();</span>
+<span class="fc" id="L387">            sgndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEncryptedSuppTokens);</span>
             
-<span class="fc" id="L391">            SupportingToken endorsingEncryptedSuppTokens = rpd.getEndorsingEncryptedSupportingTokens();</span>
-<span class="fc" id="L392">            endEncSuppTokMap = this.handleSupportingTokens(rmd, endorsingEncryptedSuppTokens);</span>
+<span class="fc" id="L389">            SupportingToken endorsingEncryptedSuppTokens = rpd.getEndorsingEncryptedSupportingTokens();</span>
+<span class="fc" id="L390">            endEncSuppTokMap = this.handleSupportingTokens(rmd, endorsingEncryptedSuppTokens);</span>
             
-<span class="fc" id="L394">            SupportingToken sgndEndEncSuppTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();           </span>
-<span class="fc" id="L395">            sgndEndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEndEncSuppTokens);</span>
+<span class="fc" id="L392">            SupportingToken sgndEndEncSuppTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();           </span>
+<span class="fc" id="L393">            sgndEndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEndEncSuppTokens);</span>
             
-<span class="fc" id="L397">            List&lt;SupportingToken&gt; supportingToks = rpd.getSupportingTokensList();</span>
-<span class="fc bfc" id="L398" title="All 2 branches covered.">            for (SupportingToken supportingTok : supportingToks) {</span>
-<span class="fc" id="L399">                this.handleSupportingTokens(rmd, supportingTok);</span>
-<span class="fc" id="L400">            } </span>
+<span class="fc" id="L395">            List&lt;SupportingToken&gt; supportingToks = rpd.getSupportingTokensList();</span>
+<span class="fc bfc" id="L396" title="All 2 branches covered.">            for (SupportingToken supportingTok : supportingToks) {</span>
+<span class="fc" id="L397">                this.handleSupportingTokens(rmd, supportingTok);</span>
+<span class="fc" id="L398">            } </span>
             
-<span class="fc" id="L402">            SupportingToken encryptedSupportingToks = rpd.getEncryptedSupportingTokens();</span>
-<span class="fc" id="L403">            this.handleSupportingTokens(rmd, encryptedSupportingToks);</span>
+<span class="fc" id="L400">            SupportingToken encryptedSupportingToks = rpd.getEncryptedSupportingTokens();</span>
+<span class="fc" id="L401">            this.handleSupportingTokens(rmd, encryptedSupportingToks);</span>
     
             //Setup signature parts
-<span class="fc" id="L406">            sigParts = addSignatureParts(sigSuppTokMap, sigParts);</span>
-<span class="fc" id="L407">            sigParts = addSignatureParts(sgndEncSuppTokMap, sigParts);</span>
-<span class="fc" id="L408">            sigParts = addSignatureParts(sgndEndSuppTokMap, sigParts);</span>
-<span class="fc" id="L409">            sigParts = addSignatureParts(sgndEndEncSuppTokMap, sigParts);</span>
+<span class="fc" id="L404">            sigParts = addSignatureParts(sigSuppTokMap, sigParts);</span>
+<span class="fc" id="L405">            sigParts = addSignatureParts(sgndEncSuppTokMap, sigParts);</span>
+<span class="fc" id="L406">            sigParts = addSignatureParts(sgndEndSuppTokMap, sigParts);</span>
+<span class="fc" id="L407">            sigParts = addSignatureParts(sgndEndEncSuppTokMap, sigParts);</span>
             
-<span class="fc" id="L411">        } else {</span>
-<span class="fc" id="L412">            addSignatureConfirmation(rmd, sigParts);</span>
+<span class="fc" id="L409">        } else {</span>
+<span class="fc" id="L410">            addSignatureConfirmation(rmd, sigParts);</span>
         }
 
-<span class="pc bpc" id="L415" title="3 of 10 branches missed.">        if( sigParts.size() &gt; 0 &amp;&amp; </span>
+<span class="pc bpc" id="L413" title="1 of 10 branches missed.">        if( sigParts.size() &gt; 0 &amp;&amp; </span>
                 ((rmd.isInitiator() &amp;&amp; rpd.getInitiatorToken() != null) || 
                 (!rmd.isInitiator() &amp;&amp; rpd.getRecipientToken() != null))) {
             // Do signature
-<span class="fc" id="L419">            this.doSignature(rmd);</span>
+<span class="fc" id="L417">            this.doSignature(rmd);</span>
         }
         
-<span class="fc" id="L422">        List&lt;SupportingPolicyData&gt; supportingToks = rpd.getSupportingPolicyData();</span>
-<span class="fc bfc" id="L423" title="All 2 branches covered.">        for (SupportingPolicyData policyData : supportingToks) {</span>
-<span class="pc bpc" id="L424" title="1 of 2 branches missed.">            if (policyData != null) { // TODO do we need this null check ?</span>
-<span class="fc" id="L425">                List&lt;WSEncryptionPart&gt; supportingSigParts = RampartUtil.getSupportingSignedParts(rmd,</span>
+<span class="fc" id="L420">        List&lt;SupportingPolicyData&gt; supportingToks = rpd.getSupportingPolicyData();</span>
+<span class="fc bfc" id="L421" title="All 2 branches covered.">        for (SupportingPolicyData policyData : supportingToks) {</span>
+<span class="pc bpc" id="L422" title="1 of 2 branches missed.">            if (policyData != null) { // TODO do we need this null check ?</span>
+<span class="fc" id="L423">                List&lt;WSEncryptionPart&gt; supportingSigParts = RampartUtil.getSupportingSignedParts(rmd,</span>
                         policyData);
 
-<span class="pc bpc" id="L428" title="6 of 10 branches missed.">                if (supportingSigParts.size() &gt; 0</span>
+<span class="pc bpc" id="L426" title="6 of 10 branches missed.">                if (supportingSigParts.size() &gt; 0</span>
                         &amp;&amp; ((rmd.isInitiator() &amp;&amp; rpd.getInitiatorToken() != null) || (!rmd
                         .isInitiator() &amp;&amp; rpd.getRecipientToken() != null))) {
                     // Do signature for policies defined under SupportingToken.
-<span class="fc" id="L432">                    this.doSupportingSignature(rmd, supportingSigParts, policyData);</span>
+<span class="fc" id="L430">                    this.doSupportingSignature(rmd, supportingSigParts, policyData);</span>
                 }
             }
-<span class="fc" id="L435">        }</span>
+<span class="fc" id="L433">        }</span>
         
         //Do endorsed signature
 
-<span class="fc bfc" id="L439" title="All 2 branches covered.">        if (rmd.isInitiator()) {</span>
+<span class="fc bfc" id="L437" title="All 2 branches covered.">        if (rmd.isInitiator()) {</span>
             
             // Adding the endorsing encrypted supporting tokens to endorsing supporting tokens
-<span class="pc bpc" id="L442" title="1 of 2 branches missed.">            if (endSuppTokMap != null) {</span>
-<span class="fc" id="L443">                endSuppTokMap.putAll(endEncSuppTokMap);</span>
+<span class="pc bpc" id="L440" title="1 of 2 branches missed.">            if (endSuppTokMap != null) {</span>
+<span class="fc" id="L441">                endSuppTokMap.putAll(endEncSuppTokMap);</span>
             }
             // Do endorsed signatures
-<span class="fc" id="L446">            List&lt;byte[]&gt; endSigVals = this.doEndorsedSignatures(rmd,</span>
+<span class="fc" id="L444">            List&lt;byte[]&gt; endSigVals = this.doEndorsedSignatures(rmd,</span>
                     endSuppTokMap);
-<span class="pc bpc" id="L448" title="1 of 2 branches missed.">            for (byte[] endSigVal : endSigVals) {</span>
-<span class="nc" id="L449">                signatureValues.add(endSigVal);</span>
-<span class="nc" id="L450">            }</span>
+<span class="pc bpc" id="L446" title="1 of 2 branches missed.">            for (byte[] endSigVal : endSigVals) {</span>
+<span class="nc" id="L447">                signatureValues.add(endSigVal);</span>
+<span class="nc" id="L448">            }</span>
 
             //Adding the signed endorsed encrypted tokens to signed endorsed supporting tokens
-<span class="pc bpc" id="L453" title="1 of 2 branches missed.">            if (sgndEndSuppTokMap != null) {</span>
-<span class="fc" id="L454">                sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);</span>
+<span class="pc bpc" id="L451" title="1 of 2 branches missed.">            if (sgndEndSuppTokMap != null) {</span>
+<span class="fc" id="L452">                sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);</span>
             }
             // Do signed endorsing signatures
-<span class="fc" id="L457">            List&lt;byte[]&gt; sigEndSigVals = this.doEndorsedSignatures(rmd,</span>
+<span class="fc" id="L455">            List&lt;byte[]&gt; sigEndSigVals = this.doEndorsedSignatures(rmd,</span>
                     sgndEndSuppTokMap);
-<span class="pc bpc" id="L459" title="1 of 2 branches missed.">            for (byte[] sigEndSigVal : sigEndSigVals) {</span>
-<span class="nc" id="L460">                signatureValues.add(sigEndSigVal);</span>
-<span class="nc" id="L461">            }</span>
+<span class="pc bpc" id="L457" title="1 of 2 branches missed.">            for (byte[] sigEndSigVal : sigEndSigVals) {</span>
+<span class="nc" id="L458">                signatureValues.add(sigEndSigVal);</span>
+<span class="nc" id="L459">            }</span>
         }
         
-<span class="pc bpc" id="L464" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L465">    		t1 = System.currentTimeMillis();</span>
+<span class="pc bpc" id="L462" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L463">    		t1 = System.currentTimeMillis();</span>
     	}
              
-<span class="fc" id="L468">        List&lt;WSEncryptionPart&gt; encrParts = RampartUtil.getEncryptedParts(rmd);</span>
+<span class="fc" id="L466">        List&lt;WSEncryptionPart&gt; encrParts = RampartUtil.getEncryptedParts(rmd);</span>
         
         //Check for signature protection
-<span class="pc bpc" id="L471" title="3 of 4 branches missed.">        if(rpd.isSignatureProtection() &amp;&amp; this.mainSigId != null) {</span>
-<span class="nc" id="L472">            encrParts.add(new WSEncryptionPart(RampartUtil.addWsuIdToElement((OMElement)this.signatureElement), &quot;Element&quot;));</span>
+<span class="pc bpc" id="L469" title="3 of 4 branches missed.">        if(rpd.isSignatureProtection() &amp;&amp; this.mainSigId != null) {</span>
+<span class="nc" id="L470">            encrParts.add(new WSEncryptionPart(RampartUtil.addWsuIdToElement((OMElement)this.signatureElement), &quot;Element&quot;));</span>
         }
         
-<span class="fc bfc" id="L475" title="All 2 branches covered.">        if(rmd.isInitiator()) {</span>
-<span class="fc bfc" id="L476" title="All 2 branches covered.">            for (String anEncryptedTokensIdList : encryptedTokensIdList) {</span>
-<span class="fc" id="L477">                encrParts.add(new WSEncryptionPart(anEncryptedTokensIdList, &quot;Element&quot;));</span>
-<span class="fc" id="L478">            }</span>
+<span class="fc bfc" id="L473" title="All 2 branches covered.">        if(rmd.isInitiator()) {</span>
+<span class="pc bpc" id="L474" title="1 of 2 branches missed.">            for (String anEncryptedTokensIdList : encryptedTokensIdList) {</span>
+<span class="nc" id="L475">                encrParts.add(new WSEncryptionPart(anEncryptedTokensIdList, &quot;Element&quot;));</span>
+<span class="nc" id="L476">            }</span>
         }
 
         //Do encryption
         Token encrToken;
-<span class="fc bfc" id="L483" title="All 2 branches covered.">        if (rmd.isInitiator()) {</span>
-<span class="fc" id="L484">            encrToken = rpd.getRecipientToken();</span>
+<span class="fc bfc" id="L481" title="All 2 branches covered.">        if (rmd.isInitiator()) {</span>
+<span class="fc" id="L482">            encrToken = rpd.getRecipientToken();</span>
         } else {
-<span class="fc" id="L486">            encrToken = rpd.getInitiatorToken();</span>
+<span class="fc" id="L484">            encrToken = rpd.getInitiatorToken();</span>
         }
 
-<span class="pc bpc" id="L489" title="1 of 4 branches missed.">        if(encrToken != null &amp;&amp; encrParts.size() &gt; 0) {</span>
-<span class="fc" id="L490">            Element refList = null;</span>
-<span class="fc" id="L491">            AlgorithmSuite algorithmSuite = rpd.getAlgorithmSuite();</span>
-<span class="fc bfc" id="L492" title="All 2 branches covered.">            if(encrToken.isDerivedKeys()) {</span>
+<span class="fc bfc" id="L487" title="All 4 branches covered.">        if(encrToken != null &amp;&amp; encrParts.size() &gt; 0) {</span>
+<span class="fc" id="L488">            Element refList = null;</span>
+<span class="fc" id="L489">            AlgorithmSuite algorithmSuite = rpd.getAlgorithmSuite();</span>
+<span class="fc bfc" id="L490" title="All 2 branches covered.">            if(encrToken.isDerivedKeys()) {</span>
                 
                 try {
-<span class="fc" id="L495">                    WSSecDKEncrypt dkEncr = new WSSecDKEncrypt();</span>
+<span class="fc" id="L493">                    WSSecDKEncrypt dkEncr = new WSSecDKEncrypt();</span>
                     
-<span class="fc bfc" id="L497" title="All 2 branches covered.">                    if(this.encrKey == null) {</span>
-<span class="fc" id="L498">                        this.setupEncryptedKey(rmd, encrToken);</span>
+<span class="fc bfc" id="L495" title="All 2 branches covered.">                    if(this.encrKey == null) {</span>
+<span class="fc" id="L496">                        this.setupEncryptedKey(rmd, encrToken);</span>
                     }
                     
-<span class="fc" id="L501">                    dkEncr.setExternalKey(this.encryptedKeyValue, this.encryptedKeyId);</span>
-<span class="fc" id="L502">                    dkEncr.setCustomValueType(WSConstants.SOAPMESSAGE_NS11 + &quot;#&quot;</span>
+<span class="fc" id="L499">                    dkEncr.setExternalKey(this.encryptedKeyValue, this.encryptedKeyId);</span>
+<span class="fc" id="L500">                    dkEncr.setCustomValueType(WSConstants.SOAPMESSAGE_NS11 + &quot;#&quot;</span>
                             + WSConstants.ENC_KEY_VALUE_TYPE);
-<span class="fc" id="L504">                    dkEncr.setSymmetricEncAlgorithm(algorithmSuite.getEncryption());</span>
-<span class="fc" id="L505">                    dkEncr.setDerivedKeyLength(algorithmSuite.getEncryptionDerivedKeyLength()/8);</span>
-<span class="fc" id="L506">                    dkEncr.prepare(doc);</span>
+<span class="fc" id="L502">                    dkEncr.setSymmetricEncAlgorithm(algorithmSuite.getEncryption());</span>
+<span class="fc" id="L503">                    dkEncr.setDerivedKeyLength(algorithmSuite.getEncryptionDerivedKeyLength()/8);</span>
+<span class="fc" id="L504">                    dkEncr.prepare(doc);</span>
                     
                     
-<span class="fc bfc" id="L509" title="All 2 branches covered.">                    if(this.encrTokenElement != null) {</span>
-<span class="fc" id="L510">                        this.encrDKTElement = RampartUtil.insertSiblingAfter(</span>
+<span class="fc bfc" id="L507" title="All 2 branches covered.">                    if(this.encrTokenElement != null) {</span>
+<span class="fc" id="L508">                        this.encrDKTElement = RampartUtil.insertSiblingAfter(</span>
                                 rmd, this.encrTokenElement, dkEncr.getdktElement());
                     } else {
-<span class="fc" id="L513">                        this.encrDKTElement = RampartUtil.insertSiblingBefore(</span>
+<span class="fc" id="L511">                        this.encrDKTElement = RampartUtil.insertSiblingBefore(</span>
                                 rmd, this.sigDKTElement, dkEncr.getdktElement());
                     }
                     
-<span class="fc" id="L517">                    refList = dkEncr.encryptForExternalRef(null, encrParts);</span>
+<span class="fc" id="L515">                    refList = dkEncr.encryptForExternalRef(null, encrParts);</span>
                     
-<span class="fc" id="L519">                    RampartUtil.insertSiblingAfter(rmd, </span>
+<span class="fc" id="L517">                    RampartUtil.insertSiblingAfter(rmd, </span>
                                                     this.encrDKTElement, 
                                                     refList);
                                                     
-<span class="nc" id="L523">                } catch (WSSecurityException e) {</span>
+<span class="nc" id="L521">                } catch (WSSecurityException e) {</span>
+<span class="nc" id="L522">                    throw new RampartException(&quot;errorInDKEncr&quot;, e);</span>
+<span class="nc" id="L523">                } catch (ConversationException e) {</span>
 <span class="nc" id="L524">                    throw new RampartException(&quot;errorInDKEncr&quot;, e);</span>
-<span class="nc" id="L525">                } catch (ConversationException e) {</span>
-<span class="nc" id="L526">                    throw new RampartException(&quot;errorInDKEncr&quot;, e);</span>
-<span class="fc" id="L527">                }</span>
+<span class="fc" id="L525">                }</span>
             } else {
                 try {
                     
-<span class="fc" id="L531">                    WSSecEncrypt encr = new WSSecEncrypt();</span>
+<span class="fc" id="L529">                    WSSecEncrypt encr = new WSSecEncrypt();</span>
                     
-<span class="fc" id="L533">                    RampartUtil.setKeyIdentifierType(rmd, encr, encrToken);</span>
+<span class="fc" id="L531">                    RampartUtil.setKeyIdentifierType(rmd, encr, encrToken);</span>
                     
-<span class="fc" id="L535">                    encr.setWsConfig(rmd.getConfig());</span>
+<span class="fc" id="L533">                    encr.setWsConfig(rmd.getConfig());</span>
                     
-<span class="fc" id="L537">                    encr.setDocument(doc);</span>
-<span class="fc" id="L538">                    RampartUtil.setEncryptionUser(rmd, encr);</span>
-<span class="fc" id="L539">                    encr.setSymmetricEncAlgorithm(algorithmSuite.getEncryption());</span>
-<span class="fc" id="L540">                    encr.setKeyEncAlgo(algorithmSuite.getAsymmetricKeyWrap());</span>
-<span class="fc" id="L541">                    encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd</span>
+<span class="fc" id="L535">                    encr.setDocument(doc);</span>
+<span class="fc" id="L536">                    RampartUtil.setEncryptionUser(rmd, encr);</span>
+<span class="fc" id="L537">                    encr.setSymmetricEncAlgorithm(algorithmSuite.getEncryption());</span>
+<span class="fc" id="L538">                    encr.setKeyEncAlgo(algorithmSuite.getAsymmetricKeyWrap());</span>
+<span class="fc" id="L539">                    encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd</span>
                             .getRampartConfig(), rmd.getCustomClassLoader()));
                     
-<span class="fc bfc" id="L544" title="All 2 branches covered.">                    if(this.timestampElement != null){</span>
-<span class="fc" id="L545">                    	this.setInsertionLocation(this.timestampElement);</span>
+<span class="fc bfc" id="L542" title="All 2 branches covered.">                    if(this.timestampElement != null){</span>
+<span class="fc" id="L543">                    	this.setInsertionLocation(this.timestampElement);</span>
                     }else{
-<span class="fc" id="L547">                    	this.setInsertionLocation(null);</span>
+<span class="fc" id="L545">                    	this.setInsertionLocation(null);</span>
                     }
                     
-<span class="pc bpc" id="L550" title="1 of 2 branches missed.">                    if(encr.getBSTTokenId() != null) {</span>
-<span class="nc" id="L551">                        this.setInsertionLocation(RampartUtil</span>
+<span class="pc bpc" id="L548" title="1 of 2 branches missed.">                    if(encr.getBSTTokenId() != null) {</span>
+<span class="nc" id="L549">                        this.setInsertionLocation(RampartUtil</span>
                                 .insertSiblingAfterOrPrepend(rmd,
                                         this.getInsertionLocation(),
                                         encr.getBinarySecurityTokenElement()));
                     }
                     
                     
-<span class="fc" id="L558">                    Element encryptedKeyElement = encr.getEncryptedKeyElement();</span>
+<span class="fc" id="L556">                    Element encryptedKeyElement = encr.getEncryptedKeyElement();</span>
                                        
                     //Encrypt, get hold of the ref list and add it
-<span class="fc" id="L561">                    refList = encr.encryptForInternalRef(null, encrParts);</span>
+<span class="fc" id="L559">                    refList = encr.encryptForInternalRef(null, encrParts);</span>
                     
                     //Add internal refs
-<span class="fc" id="L564">                    encryptedKeyElement.appendChild(refList);</span>
+<span class="fc" id="L562">                    encryptedKeyElement.appendChild(refList);</span>
                     
-<span class="fc" id="L566">                    this.setInsertionLocation(RampartUtil</span>
+<span class="fc" id="L564">                    this.setInsertionLocation(RampartUtil</span>
                             .insertSiblingAfterOrPrepend(rmd,
                                     this.getInsertionLocation(),
                                     encryptedKeyElement)); 
@@ -571,33 +569,33 @@ import java.util.*;
 //                    RampartUtil.insertSiblingAfter(rmd,
 //                                                    this.getInsertionLocation(),
 //                                                    refList);
-<span class="nc" id="L574">                } catch (WSSecurityException e) {</span>
-<span class="nc" id="L575">                    throw new RampartException(&quot;errorInEncryption&quot;, e);</span>
-<span class="fc" id="L576">                }    </span>
+<span class="nc" id="L572">                } catch (WSSecurityException e) {</span>
+<span class="nc" id="L573">                    throw new RampartException(&quot;errorInEncryption&quot;, e);</span>
+<span class="fc" id="L574">                }    </span>
             }
         }
         
-<span class="fc" id="L580">        List&lt;SupportingPolicyData&gt; supportingTokens = rpd.getSupportingPolicyData();</span>
-<span class="fc bfc" id="L581" title="All 2 branches covered.">        for (SupportingPolicyData policyData : supportingTokens) {</span>
-<span class="pc bpc" id="L582" title="1 of 2 branches missed.">            if (policyData != null) { // TODO do we need this null check ?</span>
-<span class="fc" id="L583">                Token supportingEncrToken = policyData.getEncryptionToken();</span>
-<span class="fc" id="L584">                List&lt;WSEncryptionPart&gt; supoortingEncrParts = RampartUtil.getSupportingEncryptedParts(rmd,</span>
+<span class="fc" id="L578">        List&lt;SupportingPolicyData&gt; supportingTokens = rpd.getSupportingPolicyData();</span>
+<span class="fc bfc" id="L579" title="All 2 branches covered.">        for (SupportingPolicyData policyData : supportingTokens) {</span>
+<span class="pc bpc" id="L580" title="1 of 2 branches missed.">            if (policyData != null) { // TODO do we need this null check ?</span>
+<span class="fc" id="L581">                Token supportingEncrToken = policyData.getEncryptionToken();</span>
+<span class="fc" id="L582">                List&lt;WSEncryptionPart&gt; supoortingEncrParts = RampartUtil.getSupportingEncryptedParts(rmd,</span>
                         policyData);
 
-<span class="pc bpc" id="L587" title="1 of 4 branches missed.">                if (supportingEncrToken != null &amp;&amp; supoortingEncrParts.size() &gt; 0) {</span>
-<span class="fc" id="L588">                    doEncryptionWithSupportingToken(rpd, rmd, supportingEncrToken, doc,</span>
+<span class="pc bpc" id="L585" title="1 of 4 branches missed.">                if (supportingEncrToken != null &amp;&amp; supoortingEncrParts.size() &gt; 0) {</span>
+<span class="fc" id="L586">                    doEncryptionWithSupportingToken(rpd, rmd, supportingEncrToken, doc,</span>
                             supoortingEncrParts);
                 }
             }
-<span class="fc" id="L592">        }</span>
+<span class="fc" id="L590">        }</span>
         
-<span class="pc bpc" id="L594" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L595">    		t2 = System.currentTimeMillis();</span>
-<span class="nc" id="L596">    		tlog.debug(&quot;Signature took :&quot; + (t1 - t0)</span>
+<span class="pc bpc" id="L592" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L593">    		t2 = System.currentTimeMillis();</span>
+<span class="nc" id="L594">    		tlog.debug(&quot;Signature took :&quot; + (t1 - t0)</span>
     				+&quot;, Encryption took :&quot; + (t2 - t1) );
     	}
         
-<span class="fc" id="L600">    }</span>
+<span class="fc" id="L598">    }</span>
     
     private void doSupportingSignature(RampartMessageData rmd, List&lt;WSEncryptionPart&gt; supportingSigParts,
             SupportingPolicyData supportingData) throws RampartException {
@@ -606,32 +604,32 @@ import java.util.*;
         WSSecSignature supportingSig;
         Element supportingSignatureElement;
 
-<span class="fc" id="L609">        long t0 = 0, t1 = 0;</span>
-<span class="pc bpc" id="L610" title="1 of 2 branches missed.">        if (tlog.isDebugEnabled()) {</span>
-<span class="nc" id="L611">            t0 = System.currentTimeMillis();</span>
+<span class="fc" id="L607">        long t0 = 0, t1 = 0;</span>
+<span class="pc bpc" id="L608" title="1 of 2 branches missed.">        if (tlog.isDebugEnabled()) {</span>
+<span class="nc" id="L609">            t0 = System.currentTimeMillis();</span>
         }
 
-<span class="fc" id="L614">        supportingSigToken = supportingData.getSignatureToken();</span>
+<span class="fc" id="L612">        supportingSigToken = supportingData.getSignatureToken();</span>
 
-<span class="pc bpc" id="L616" title="1 of 2 branches missed.">        if (!(supportingSigToken instanceof X509Token)) {</span>
-<span class="nc" id="L617">            return;</span>
+<span class="pc bpc" id="L614" title="1 of 2 branches missed.">        if (!(supportingSigToken instanceof X509Token)) {</span>
+<span class="nc" id="L615">            return;</span>
         }
-<span class="fc" id="L619">        supportingSig = this.getSignatureBuilder(rmd, supportingSigToken,</span>
+<span class="fc" id="L617">        supportingSig = this.getSignatureBuilder(rmd, supportingSigToken,</span>
                 ((X509Token) supportingSigToken).getUserCertAlias());
-<span class="fc" id="L621">        Element bstElem = supportingSig.getBinarySecurityTokenElement();</span>
-<span class="pc bpc" id="L622" title="1 of 2 branches missed.">        if (bstElem != null) {</span>
-<span class="fc" id="L623">            bstElem = RampartUtil.insertSiblingAfter(rmd, this.getInsertionLocation(), bstElem);</span>
-<span class="fc" id="L624">            this.setInsertionLocation(bstElem);</span>
+<span class="fc" id="L619">        Element bstElem = supportingSig.getBinarySecurityTokenElement();</span>
+<span class="pc bpc" id="L620" title="1 of 2 branches missed.">        if (bstElem != null) {</span>
+<span class="fc" id="L621">            bstElem = RampartUtil.insertSiblingAfter(rmd, this.getInsertionLocation(), bstElem);</span>
+<span class="fc" id="L622">            this.setInsertionLocation(bstElem);</span>
         }
 
-<span class="pc bpc" id="L627" title="3 of 4 branches missed.">        if (rmd.getPolicyData().isTokenProtection() &amp;&amp; supportingSig.getBSTTokenId() != null) {</span>
-<span class="nc" id="L628">            supportingSigParts.add(new WSEncryptionPart(supportingSig.getBSTTokenId()));</span>
+<span class="pc bpc" id="L625" title="3 of 4 branches missed.">        if (rmd.getPolicyData().isTokenProtection() &amp;&amp; supportingSig.getBSTTokenId() != null) {</span>
+<span class="nc" id="L626">            supportingSigParts.add(new WSEncryptionPart(supportingSig.getBSTTokenId()));</span>
         }
 
         try {
-<span class="fc" id="L632">            supportingSig.setDigestAlgo(rmd.getPolicyData().getAlgorithmSuite().getDigest());</span>
+<span class="fc" id="L630">        	supportingSig.setDigestAlgo(rmd.getPolicyData().getAlgorithmSuite().getDigest());</span>
 
-<span class="fc" id="L634">            List&lt;Reference&gt; referenceList</span>
+<span class="fc" id="L632">            List&lt;Reference&gt; referenceList</span>
                     = supportingSig.addReferencesToSign(supportingSigParts, rmd.getSecHeader());
 
             /**
@@ -641,35 +639,35 @@ import java.util.*;
              * In this case we need to append &lt;Signature&gt;..&lt;/Signature&gt; element to
              * current insertion location
              */
-<span class="fc" id="L644">            supportingSig.computeSignature(referenceList, false, this.getInsertionLocation());</span>
+<span class="fc" id="L642">            supportingSig.computeSignature(referenceList, false, this.getInsertionLocation());</span>
 
-<span class="nc" id="L646">        } catch (WSSecurityException e) {</span>
-<span class="nc" id="L647">            throw new RampartException(&quot;errorInSignatureWithX509Token&quot;, e);</span>
-<span class="fc" id="L648">        }</span>
+<span class="nc" id="L644">        } catch (WSSecurityException e) {</span>
+<span class="nc" id="L645">            throw new RampartException(&quot;errorInSignatureWithX509Token&quot;, e);</span>
+<span class="fc" id="L646">        }</span>
 
-<span class="fc" id="L650">        signatureValues.add(supportingSig.getSignatureValue());</span>
+<span class="fc" id="L648">        signatureValues.add(supportingSig.getSignatureValue());</span>
 
-<span class="pc bpc" id="L652" title="1 of 2 branches missed.">        if (tlog.isDebugEnabled()) {</span>
-<span class="nc" id="L653">            t1 = System.currentTimeMillis();</span>
-<span class="nc" id="L654">            tlog.debug(&quot;Signature took :&quot; + (t1 - t0));</span>
+<span class="pc bpc" id="L650" title="1 of 2 branches missed.">        if (tlog.isDebugEnabled()) {</span>
+<span class="nc" id="L651">            t1 = System.currentTimeMillis();</span>
+<span class="nc" id="L652">            tlog.debug(&quot;Signature took :&quot; + (t1 - t0));</span>
         }
 
-<span class="fc" id="L657">    }</span>
+<span class="fc" id="L655">    }</span>
 
     private void doSignature(RampartMessageData rmd) throws RampartException {
 
-<span class="fc" id="L661">        RampartPolicyData rpd = rmd.getPolicyData();</span>
-<span class="fc" id="L662">        Document doc = rmd.getDocument();</span>
+<span class="fc" id="L659">        RampartPolicyData rpd = rmd.getPolicyData();</span>
+<span class="fc" id="L660">        Document doc = rmd.getDocument();</span>
         
-<span class="fc" id="L664">        long t0 = 0, t1 = 0;</span>
-<span class="pc bpc" id="L665" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L666">    		t0 = System.currentTimeMillis();</span>
+<span class="fc" id="L662">        long t0 = 0, t1 = 0;</span>
+<span class="pc bpc" id="L663" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L664">    		t0 = System.currentTimeMillis();</span>
     	}
         Token sigToken;
-<span class="fc bfc" id="L669" title="All 2 branches covered.">        if(rmd.isInitiator()) {</span>
-<span class="fc" id="L670">            sigToken = rpd.getInitiatorToken();</span>
+<span class="fc bfc" id="L667" title="All 2 branches covered.">        if(rmd.isInitiator()) {</span>
+<span class="fc" id="L668">            sigToken = rpd.getInitiatorToken();</span>
         } else {
-<span class="fc" id="L672">            sigToken = rpd.getRecipientToken();</span>
+<span class="fc" id="L670">            sigToken = rpd.getRecipientToken();</span>
         }
 
         /**
@@ -679,33 +677,33 @@ import java.util.*;
          * Therefore we do not need to have following code segment.
          * TODO Confirm and remove.
          */
-<span class="fc bfc" id="L682" title="All 2 branches covered.">        if (sigToken.isDerivedKeys()) {</span>
+<span class="fc bfc" id="L680" title="All 2 branches covered.">        if (sigToken.isDerivedKeys()) {</span>
             // Set up the encrypted key to use
-<span class="fc bfc" id="L684" title="All 2 branches covered.">            if(this.encrKey == null) {</span>
-<span class="fc" id="L685">                setupEncryptedKey(rmd, sigToken);</span>
+<span class="fc bfc" id="L682" title="All 2 branches covered.">            if(this.encrKey == null) {</span>
+<span class="fc" id="L683">                setupEncryptedKey(rmd, sigToken);</span>
             }
             
-<span class="fc" id="L688">            WSSecDKSign dkSign = new WSSecDKSign();</span>
+<span class="fc" id="L686">            WSSecDKSign dkSign = new WSSecDKSign();</span>
 
-<span class="fc" id="L690">            dkSign.setExternalKey(this.encryptedKeyValue, this.encryptedKeyId);</span>
+<span class="fc" id="L688">            dkSign.setExternalKey(this.encryptedKeyValue, this.encryptedKeyId);</span>
 
             // Set the algo info
-<span class="fc" id="L693">            dkSign.setSignatureAlgorithm(rpd.getAlgorithmSuite()</span>
+<span class="fc" id="L691">            dkSign.setSignatureAlgorithm(rpd.getAlgorithmSuite()</span>
                     .getSymmetricSignature());
-<span class="fc" id="L695">            dkSign.setDerivedKeyLength(rpd.getAlgorithmSuite()</span>
+<span class="fc" id="L693">            dkSign.setDerivedKeyLength(rpd.getAlgorithmSuite()</span>
                     .getSignatureDerivedKeyLength() / 8);
-<span class="fc" id="L697">            dkSign.setCustomValueType(WSConstants.SOAPMESSAGE_NS11 + &quot;#&quot;</span>
+<span class="fc" id="L695">            dkSign.setCustomValueType(WSConstants.SOAPMESSAGE_NS11 + &quot;#&quot;</span>
                     + WSConstants.ENC_KEY_VALUE_TYPE);
             try {
-<span class="fc" id="L700">                dkSign.prepare(doc, rmd.getSecHeader());</span>
+<span class="fc" id="L698">                dkSign.prepare(doc, rmd.getSecHeader());</span>
 
-<span class="pc bpc" id="L702" title="1 of 2 branches missed.">                if (rpd.isTokenProtection()) {</span>
-<span class="nc" id="L703">                    sigParts.add(new WSEncryptionPart(encrKey.getId()));</span>
+<span class="pc bpc" id="L700" title="1 of 2 branches missed.">                if (rpd.isTokenProtection()) {</span>
+<span class="nc" id="L701">                    sigParts.add(new WSEncryptionPart(encrKey.getId()));</span>
                 }
 
-<span class="fc" id="L706">                dkSign.setParts(sigParts);</span>
+<span class="fc" id="L704">                dkSign.setParts(sigParts);</span>
 
-<span class="fc" id="L708">                List&lt;Reference&gt; referenceList</span>
+<span class="fc" id="L706">                List&lt;Reference&gt; referenceList</span>
                         = dkSign.addReferencesToSign(sigParts, rmd.getSecHeader());
 
                  /**
@@ -714,151 +712,150 @@ import java.util.*;
                  * elements. (As a convention)
                  */
 
-<span class="fc bfc" id="L717" title="All 2 branches covered.">                if (refList == null) {</span>
+<span class="fc bfc" id="L715" title="All 2 branches covered.">                if (refList == null) {</span>
                     //dkSign.appendDKElementToHeader(rmd.getSecHeader());
-<span class="fc" id="L719">                    this.sigDKTElement = RampartUtil.insertSiblingAfter(rmd,</span>
+<span class="fc" id="L717">                    this.sigDKTElement = RampartUtil.insertSiblingAfter(rmd,</span>
                             this.getInsertionLocation(), dkSign.getdktElement());
-<span class="fc" id="L721">                    this.setInsertionLocation(this.sigDKTElement);</span>
+<span class="fc" id="L719">                    this.setInsertionLocation(this.sigDKTElement);</span>
                      // Do signature
                     /**
                      * Create and prepend signature
                      */
-<span class="fc" id="L726">                    dkSign.computeSignature(referenceList, false, this.getInsertionLocation());</span>
+<span class="fc" id="L724">                    dkSign.computeSignature(referenceList, false, this.getInsertionLocation());</span>
                 } else {
-<span class="fc" id="L728">                    this.sigDKTElement = RampartUtil.insertSiblingBefore(rmd, refList, dkSign.getdktElement());</span>
-<span class="fc" id="L729">                    this.setInsertionLocation(this.sigDKTElement);</span>
+<span class="fc" id="L726">                    this.sigDKTElement = RampartUtil.insertSiblingBefore(rmd, refList, dkSign.getdktElement());</span>
+<span class="fc" id="L727">                    this.setInsertionLocation(this.sigDKTElement);</span>
 
                     // Do signature
                     /**
                      * Create and append signature
                      */
-<span class="fc" id="L735">                    dkSign.computeSignature(referenceList, true, this.getInsertionLocation());</span>
+<span class="fc" id="L733">                    dkSign.computeSignature(referenceList, true, this.getInsertionLocation());</span>
                 }
 
-<span class="fc bfc" id="L738" title="All 2 branches covered.">                if (RampartUtil.encryptFirst(rpd)) {</span>
+<span class="fc bfc" id="L736" title="All 2 branches covered.">                if (RampartUtil.encryptFirst(rpd)) {</span>
                     // always add encrypt elements after signature. Because we need to first verify the signature
                     // and decrypt at receiver end.
-<span class="fc" id="L741">                    this.setInsertionLocation(dkSign.getSignatureElement());</span>
+<span class="fc" id="L739">                    this.setInsertionLocation(dkSign.getSignatureElement());</span>
                 } else {
                     // append timestamp element as next insertion location. Cos in sign and encrypt case the
                     // receiver first need to decrypt the message =&gt; The decryption keys should appear first.
-<span class="fc" id="L745">                    this.setInsertionLocation(this.timestampElement);</span>
+<span class="fc" id="L743">                    this.setInsertionLocation(this.timestampElement);</span>
                 }
 
-<span class="fc" id="L748">                this.mainSigId = RampartUtil</span>
+<span class="fc" id="L746">                this.mainSigId = RampartUtil</span>
                         .addWsuIdToElement((OMElement) dkSign
                                 .getSignatureElement());
 
-<span class="fc" id="L752">                signatureValues.add(dkSign.getSignatureValue());</span>
+<span class="fc" id="L750">                signatureValues.add(dkSign.getSignatureValue());</span>
                 
-<span class="fc" id="L754">                signatureElement = dkSign.getSignatureElement();</span>
-<span class="nc" id="L755">            } catch (WSSecurityException e) {</span>
+<span class="fc" id="L752">                signatureElement = dkSign.getSignatureElement();</span>
+<span class="nc" id="L753">            } catch (WSSecurityException e) {</span>
+<span class="nc" id="L754">                throw new RampartException(&quot;errorInDerivedKeyTokenSignature&quot;, e);</span>
+<span class="nc" id="L755">            } catch (ConversationException e) {</span>
 <span class="nc" id="L756">                throw new RampartException(&quot;errorInDerivedKeyTokenSignature&quot;, e);</span>
-<span class="nc" id="L757">            } catch (ConversationException e) {</span>
-<span class="nc" id="L758">                throw new RampartException(&quot;errorInDerivedKeyTokenSignature&quot;, e);</span>
-<span class="fc" id="L759">            }</span>
-
-<span class="fc" id="L761">        } else {</span>
-<span class="fc" id="L762">            WSSecSignature sig = this.getSignatureBuilder(rmd, sigToken);</span>
-<span class="fc" id="L763">            Element bstElem = sig.getBinarySecurityTokenElement();</span>
-<span class="fc bfc" id="L764" title="All 2 branches covered.">            if(bstElem != null) {</span>
-<span class="fc" id="L765">                bstElem = RampartUtil.insertSiblingAfter(rmd, this</span>
+<span class="fc" id="L757">            }</span>
+
+<span class="fc" id="L759">        } else {</span>
+<span class="fc" id="L760">            WSSecSignature sig = this.getSignatureBuilder(rmd, sigToken);</span>
+<span class="fc" id="L761">            Element bstElem = sig.getBinarySecurityTokenElement();</span>
+<span class="fc bfc" id="L762" title="All 2 branches covered.">            if(bstElem != null) {</span>
+<span class="fc" id="L763">                bstElem = RampartUtil.insertSiblingAfter(rmd, this</span>
                                         .getInsertionLocation(), bstElem);
-<span class="fc" id="L767">                this.setInsertionLocation(bstElem);</span>
+<span class="fc" id="L765">                this.setInsertionLocation(bstElem);</span>
             }
             
-<span class="pc bpc" id="L770" title="3 of 4 branches missed.">            if (rmd.getPolicyData().isTokenProtection()</span>
+<span class="pc bpc" id="L768" title="3 of 4 branches missed.">            if (rmd.getPolicyData().isTokenProtection()</span>
                     &amp;&amp; sig.getBSTTokenId() != null) {
-<span class="nc" id="L772">                sigParts.add(new WSEncryptionPart(sig.getBSTTokenId()));</span>
+<span class="nc" id="L770">                sigParts.add(new WSEncryptionPart(sig.getBSTTokenId()));</span>
             }
 
             try {
-<span class="fc" id="L776">                sig.setDigestAlgo(rpd.getAlgorithmSuite().getDigest());</span>
+<span class="fc" id="L774">            	sig.setDigestAlgo(rpd.getAlgorithmSuite().getDigest());</span>
 
-<span class="fc" id="L778">                List&lt;Reference&gt; referenceList</span>
+<span class="fc" id="L776">                List&lt;Reference&gt; referenceList</span>
                         = sig.addReferencesToSign(sigParts, rmd.getSecHeader());
 
                 // Do signature
-<span class="fc bfc" id="L782" title="All 2 branches covered.">                if (this.refList == null) {</span>
+<span class="fc bfc" id="L780" title="All 2 branches covered.">                if (this.refList == null) {</span>
                     /**
                      * If &lt;ReferenceData&gt;..&lt;/ReferenceData&gt; is null append &lt;Signature&gt;..&lt;/Signature&gt; element
                      * to current insertion location.
                      */
-<span class="fc" id="L787">                    sig.computeSignature(referenceList, false, this.getInsertionLocation());</span>
+<span class="fc" id="L785">                    sig.computeSignature(referenceList, false, this.getInsertionLocation());</span>
                 } else {
                     /**
                      * If &lt;ReferenceData&gt;..&lt;/ReferenceData&gt; is not null prepend &lt;Signature&gt;..&lt;/Signature&gt; element
                      * to reference data.
                      */
-<span class="fc" id="L793">                    sig.computeSignature(referenceList, true, this.refList);</span>
+<span class="fc" id="L791">                    sig.computeSignature(referenceList, true, this.refList);</span>
                 }
 
-<span class="fc" id="L796">                signatureElement = sig.getSignatureElement();</span>
-
-<span class="fc" id="L798">                this.setInsertionLocation(signatureElement);</span>
-
-<span class="fc" id="L800">                this.mainSigId = RampartUtil.addWsuIdToElement((OMElement) signatureElement);</span>
-<span class="nc" id="L801">            } catch (WSSecurityException e) {</span>
-<span class="nc" id="L802">                throw new RampartException(&quot;errorInSignatureWithX509Token&quot;, e);</span>
-<span class="fc" id="L803">            }</span>
+<span class="fc" id="L794">                signatureElement = sig.getSignatureElement();</span>
+                
+<span class="fc" id="L796">                this.setInsertionLocation(signatureElement);</span>
 
-<span class="fc" id="L805">            signatureValues.add(sig.getSignatureValue());</span>
+<span class="fc" id="L798">                this.mainSigId = RampartUtil.addWsuIdToElement((OMElement) signatureElement);</span>
+<span class="nc" id="L799">            } catch (WSSecurityException e) {</span>
+<span class="nc" id="L800">                throw new RampartException(&quot;errorInSignatureWithX509Token&quot;, e);</span>
+<span class="fc" id="L801">            }</span>
+<span class="fc" id="L802">            signatureValues.add(sig.getSignatureValue());</span>
         }
         
-<span class="pc bpc" id="L808" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
-<span class="nc" id="L809">    		t1 = System.currentTimeMillis();</span>
-<span class="nc" id="L810">    		tlog.debug(&quot;Signature took :&quot; + (t1 - t0));</span>
+<span class="pc bpc" id="L805" title="1 of 2 branches missed.">        if(tlog.isDebugEnabled()){</span>
+<span class="nc" id="L806">    		t1 = System.currentTimeMillis();</span>
+<span class="nc" id="L807">    		tlog.debug(&quot;Signature took :&quot; + (t1 - t0));</span>
     	}
 
-<span class="fc" id="L813">    }</span>
+<span class="fc" id="L810">    }</span>
     
     private void doEncryptionWithSupportingToken(RampartPolicyData rpd, RampartMessageData rmd,
             Token encrToken, Document doc, List&lt;WSEncryptionPart&gt; encrParts) throws RampartException {
-<span class="fc" id="L817">        Element refList = null;</span>
+<span class="fc" id="L814">        Element refList = null;</span>
         try {
-<span class="pc bpc" id="L819" title="1 of 2 branches missed.">            if (!(encrToken instanceof X509Token)) {</span>
-<span class="nc" id="L820">                return;</span>
+<span class="pc bpc" id="L816" title="1 of 2 branches missed.">            if (!(encrToken instanceof X509Token)) {</span>
+<span class="nc" id="L817">                return;</span>
             }
 
-<span class="fc" id="L823">            WSSecEncrypt encr = new WSSecEncrypt();</span>
+<span class="fc" id="L820">            WSSecEncrypt encr = new WSSecEncrypt();</span>
 
-<span class="fc" id="L825">            RampartUtil.setKeyIdentifierType(rmd, encr, encrToken);</span>
+<span class="fc" id="L822">            RampartUtil.setKeyIdentifierType(rmd, encr, encrToken);</span>
 
-<span class="fc" id="L827">            encr.setWsConfig(rmd.getConfig());</span>
+<span class="fc" id="L824">            encr.setWsConfig(rmd.getConfig());</span>
 
-<span class="fc" id="L829">            encr.setDocument(doc);</span>
-<span class="fc" id="L830">            RampartUtil.setEncryptionUser(rmd, encr, ((X509Token) encrToken).getEncryptionUser());</span>
-<span class="fc" id="L831">            encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption());</span>
-<span class="fc" id="L832">            encr.setKeyEncAlgo(rpd.getAlgorithmSuite().getAsymmetricKeyWrap());</span>
-<span class="fc" id="L833">            encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd.getRampartConfig(), rmd</span>
+<span class="fc" id="L826">            encr.setDocument(doc);</span>
+<span class="fc" id="L827">            RampartUtil.setEncryptionUser(rmd, encr, ((X509Token) encrToken).getEncryptionUser());</span>
+<span class="fc" id="L828">            encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption());</span>
+<span class="fc" id="L829">            encr.setKeyEncAlgo(rpd.getAlgorithmSuite().getAsymmetricKeyWrap());</span>
+<span class="fc" id="L830">            encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd.getRampartConfig(), rmd</span>
                     .getCustomClassLoader()));
 
-<span class="pc bpc" id="L836" title="1 of 2 branches missed.">            if (this.timestampElement != null) {</span>
-<span class="fc" id="L837">                this.setInsertionLocation(this.timestampElement);</span>
+<span class="pc bpc" id="L833" title="1 of 2 branches missed.">            if (this.timestampElement != null) {</span>
+<span class="fc" id="L834">                this.setInsertionLocation(this.timestampElement);</span>
             } else {
-<span class="nc" id="L839">                this.setInsertionLocation(null);</span>
+<span class="nc" id="L836">                this.setInsertionLocation(null);</span>
             }
 
-<span class="pc bpc" id="L842" title="1 of 2 branches missed.">            if (encr.getBSTTokenId() != null) {</span>

[... 131 lines stripped ...]