Author: davsclaus Date: Sat Apr 10 08:04:34 2010 New Revision: 932675 URL: http://svn.apache.org/viewvc?rev=932675&view=rev Log: Fixing camel-crypto running on JBM JDK 1.6
Modified: camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java Modified: camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java?rev=932675&r1=932674&r2=932675&view=diff ============================================================================== --- camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java (original) +++ camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java Sat Apr 10 08:04:34 2010 @@ -133,7 +133,11 @@ public class CryptoDataFormat implements cipherStream.flush(); hmac.encryptUpdate(buffer, read); } - cipherStream.write(hmac.getCalculatedMac()); + // only write if there is data to write (IBM JDK throws exception if no data) + byte[] mac = hmac.getCalculatedMac(); + if (mac != null && mac.length > 0) { + cipherStream.write(mac); + } } finally { ObjectHelper.close(cipherStream, "cipher", LOG); }