You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2014/11/21 15:47:05 UTC

svn commit: r1640923 - /webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java

Author: coheigea
Date: Fri Nov 21 14:47:05 2014
New Revision: 1640923

URL: http://svn.apache.org/r1640923
Log:
Improving error handling for derived keys

Modified:
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java?rev=1640923&r1=1640922&r2=1640923&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java Fri Nov 21 14:47:05 2014
@@ -44,6 +44,9 @@ import java.security.cert.X509Certificat
  */
 public abstract class WSSecDerivedKeyBase extends WSSecSignatureBase {
     
+    private static final org.slf4j.Logger LOG = 
+        org.slf4j.LoggerFactory.getLogger(WSSecDerivedKeyBase.class);
+    
     protected Document document;
     
     /**
@@ -221,6 +224,11 @@ public abstract class WSSecDerivedKeyBas
         DerivationAlgorithm algo = 
             AlgoFactory.getInstance(ConversationConstants.DerivationAlgorithm.P_SHA_1);
         
+        if (ephemeralKey == null || ephemeralKey.length == 0) {
+            LOG.debug("No ephemeral key is supplied for id: " + tokenIdentifier);
+            throw new WSSecurityException(WSSecurityException.ErrorCode.FAILURE);
+        }
+        
         derivedKeyBytes = algo.createKey(ephemeralKey, seed, offset, length);
         
         // Add the DKTs