Author: davsclaus
Date: Sat Nov 29 04:15:07 2008
New Revision: 721669
URL: http://svn.apache.org/viewvc?rev=721669&view=rev
Log:
CAMEL-1130: Added privateKeyFile support to SFTP
Modified:
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
Modified:
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java?rev=721669&r1=721668&r2=721669&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
(original)
+++
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
Sat Nov 29 04:15:07 2008
@@ -37,6 +37,8 @@
private boolean passiveMode;
private String knownHosts;
private String tempPrefix;
+ private String privateKeyFile;
+ private String privateKeyFilePassphrase;
public RemoteFileConfiguration() {
}
@@ -207,5 +209,21 @@
public void setTempPrefix(String tempPrefix) {
this.tempPrefix = tempPrefix;
}
+
+ public String getPrivateKeyFile() {
+ return privateKeyFile;
+ }
+
+ public void setPrivateKeyFile(String privateKeyFile) {
+ this.privateKeyFile = privateKeyFile;
+ }
+
+ public String getPrivateKeyFilePassphrase() {
+ return privateKeyFilePassphrase;
+ }
+
+ public void setPrivateKeyFilePassphrase(String privateKeyFilePassphrase) {
+ this.privateKeyFilePassphrase = privateKeyFilePassphrase;
+ }
}
Modified:
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java?rev=721669&r1=721668&r2=721669&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
(original)
+++
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
Sat Nov 29 04:15:07 2008
@@ -25,6 +25,7 @@
import org.apache.camel.Processor;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import static org.apache.camel.util.ObjectHelper.isNotNullAndNonEmpty;
public class SftpEndpoint extends RemoteFileEndpoint<RemoteFileExchange> {
protected final transient Log log = LogFactory.getLog(getClass());
@@ -49,8 +50,20 @@
protected Session createSession() throws JSchException {
final JSch jsch = new JSch();
+
+ String privateKeyFile = getConfiguration().getPrivateKeyFile();
+ if (isNotNullAndNonEmpty(privateKeyFile)) {
+ log.debug("Using private keyfile: " + privateKeyFile);
+ String privateKeyFilePassphrase =
getConfiguration().getPrivateKeyFilePassphrase();
+ if (isNotNullAndNonEmpty(privateKeyFilePassphrase)) {
+ jsch.addIdentity(privateKeyFile, privateKeyFilePassphrase);
+ } else {
+ jsch.addIdentity(privateKeyFile);
+ }
+ }
+
String knownHostsFile = getConfiguration().getKnownHosts();
- if (knownHostsFile != null && knownHostsFile.trim().length() > 0) {
+ if (isNotNullAndNonEmpty(knownHostsFile)) {
log.debug("Using knownHosts: " + knownHostsFile);
jsch.setKnownHosts(knownHostsFile);
}