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