Author: ningjiang
Date: Fri Feb 22 14:34:47 2013
New Revision: 1449059

URL: http://svn.apache.org/r1449059
Log:
CAMEL-6088 Add option to camel-crypto PGP to not always use CONSOLE for 
filename with thanks to Steve.

Modified:
    
camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java

Modified: 
camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java?rev=1449059&r1=1449058&r2=1449059&view=diff
==============================================================================
--- 
camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java
 (original)
+++ 
camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormat.java
 Fri Feb 22 14:34:47 2013
@@ -32,6 +32,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.io.IOUtils;
 import org.bouncycastle.bcpg.ArmoredOutputStream;
 import org.bouncycastle.bcpg.CompressionAlgorithmTags;
@@ -139,7 +140,13 @@ public class PGPDataFormat implements Da
         PGPSignatureGenerator sigGen = createSignatureGenerator(exchange, 
comOut);
 
         PGPLiteralDataGenerator litData = new PGPLiteralDataGenerator();
-        OutputStream litOut = litData.open(comOut, PGPLiteralData.BINARY, 
PGPLiteralData.CONSOLE, new Date(), new byte[BUFFER_SIZE]);
+        String fileName = exchange.getIn().getHeader(Exchange.FILE_NAME, 
String.class);
+        if (ObjectHelper.isEmpty(fileName)) {
+            // This marks the file as For Your Eyes Only... may cause problems 
for the receiver if they use
+            // an automated process to decrypt as the filename is appended 
with _CONSOLE
+            fileName = PGPLiteralData.CONSOLE;
+        }
+        OutputStream litOut = litData.open(comOut, PGPLiteralData.BINARY, 
fileName, new Date(), new byte[BUFFER_SIZE]);
 
         try {
             byte[] buffer = new byte[BUFFER_SIZE];


Reply via email to