List of usage examples for org.apache.commons.net.ftp FTPSClient setWantClientAuth
public void setWantClientAuth(boolean isWantClientAuth)
From source file:org.apache.camel.component.file.remote.FtpsEndpoint.java
/** * Create the FTPS client.// ww w . ja va 2 s . c o m */ protected FTPClient createFtpClient() throws Exception { FTPSClient client = null; if (sslContextParameters != null) { SSLContext context = sslContextParameters.createSSLContext(); client = new FTPSClient(getFtpsConfiguration().isImplicit(), context); // The FTPSClient tries to manage the following SSLSocket related configuration options // on its own based on internal configuration options. FTPSClient does not lend itself // to subclassing for the purpose of overriding this behavior (private methods, fields, etc.). // As such, we create a socket (preconfigured by SSLContextParameters) from the context // we gave to FTPSClient and then setup FTPSClient to reuse the already configured configuration // from the socket for all future sockets it creates. Not sexy and a little brittle, but it works. SSLSocket socket = (SSLSocket) context.getSocketFactory().createSocket(); client.setEnabledCipherSuites(socket.getEnabledCipherSuites()); client.setEnabledProtocols(socket.getEnabledProtocols()); client.setNeedClientAuth(socket.getNeedClientAuth()); client.setWantClientAuth(socket.getWantClientAuth()); client.setEnabledSessionCreation(socket.getEnableSessionCreation()); } else { client = new FTPSClient(getFtpsConfiguration().getSecurityProtocol(), getFtpsConfiguration().isImplicit()); if (ftpClientKeyStoreParameters != null) { String type = (ftpClientKeyStoreParameters.containsKey("type")) ? (String) ftpClientKeyStoreParameters.get("type") : KeyStore.getDefaultType(); String file = (String) ftpClientKeyStoreParameters.get("file"); String password = (String) ftpClientKeyStoreParameters.get("password"); String algorithm = (ftpClientKeyStoreParameters.containsKey("algorithm")) ? (String) ftpClientKeyStoreParameters.get("algorithm") : KeyManagerFactory.getDefaultAlgorithm(); String keyPassword = (String) ftpClientKeyStoreParameters.get("keyPassword"); KeyStore keyStore = KeyStore.getInstance(type); FileInputStream keyStoreFileInputStream = new FileInputStream(new File(file)); try { keyStore.load(keyStoreFileInputStream, password.toCharArray()); } finally { IOHelper.close(keyStoreFileInputStream, "keyStore", log); } KeyManagerFactory keyMgrFactory = KeyManagerFactory.getInstance(algorithm); keyMgrFactory.init(keyStore, keyPassword.toCharArray()); client.setNeedClientAuth(true); client.setKeyManager(keyMgrFactory.getKeyManagers()[0]); } if (ftpClientTrustStoreParameters != null) { String type = (ftpClientTrustStoreParameters.containsKey("type")) ? (String) ftpClientTrustStoreParameters.get("type") : KeyStore.getDefaultType(); String file = (String) ftpClientTrustStoreParameters.get("file"); String password = (String) ftpClientTrustStoreParameters.get("password"); String algorithm = (ftpClientTrustStoreParameters.containsKey("algorithm")) ? (String) ftpClientTrustStoreParameters.get("algorithm") : TrustManagerFactory.getDefaultAlgorithm(); KeyStore trustStore = KeyStore.getInstance(type); FileInputStream trustStoreFileInputStream = new FileInputStream(new File(file)); try { trustStore.load(trustStoreFileInputStream, password.toCharArray()); } finally { IOHelper.close(trustStoreFileInputStream, "trustStore", log); } TrustManagerFactory trustMgrFactory = TrustManagerFactory.getInstance(algorithm); trustMgrFactory.init(trustStore); client.setTrustManager(trustMgrFactory.getTrustManagers()[0]); } } return client; }
From source file:org.springframework.integration.ftp.session.DefaultFtpsSessionFactory.java
@Override protected void postProcessClientBeforeConnect(FTPSClient ftpsClient) throws IOException { if (StringUtils.hasText(this.authValue)) { ftpsClient.setAuthValue(authValue); }/* w w w . j a v a 2s . c om*/ if (this.trustManager != null) { ftpsClient.setTrustManager(this.trustManager); } if (this.cipherSuites != null) { ftpsClient.setEnabledCipherSuites(this.cipherSuites); } if (this.protocols != null) { ftpsClient.setEnabledProtocols(this.protocols); } if (this.sessionCreation != null) { ftpsClient.setEnabledSessionCreation(this.sessionCreation); } if (this.useClientMode != null) { ftpsClient.setUseClientMode(this.useClientMode); } if (this.sessionCreation != null) { ftpsClient.setEnabledSessionCreation(this.sessionCreation); } if (this.keyManager != null) { ftpsClient.setKeyManager(keyManager); } if (this.needClientAuth != null) { ftpsClient.setNeedClientAuth(this.needClientAuth); } if (this.wantsClientAuth != null) { ftpsClient.setWantClientAuth(this.wantsClientAuth); } }
From source file:org.teiid.resource.adapter.ftp.FtpManagedConnectionFactory.java
private void afterConnectProcessing(FTPClient client) throws IOException { if (this.parentDirectory == null) { throw new IOException(UTIL.getString("parentdirectory_not_set")); //$NON-NLS-1$ }//from w w w . jav a2 s. co m if (!client.changeWorkingDirectory(this.getParentDirectory())) { throw new IOException(UTIL.getString("ftp_dir_not_exist", this.getParentDirectory())); //$NON-NLS-1$ } updateClientMode(client); client.setFileType(this.fileType); client.setBufferSize(this.bufferSize); if (this.isFtps) { FTPSClient ftpsClient = (FTPSClient) client; if (this.getAuthValue() != null) { ftpsClient.setAuthValue(this.authValue); } if (this.trustManager != null) { ftpsClient.setTrustManager(this.trustManager); } if (this.cipherSuites != null) { ftpsClient.setEnabledCipherSuites(this.cipherSuites); } if (this.protocols != null) { ftpsClient.setEnabledProtocols(this.protocols); } if (this.sessionCreation != null) { ftpsClient.setEnabledSessionCreation(this.sessionCreation); } if (this.useClientMode != null) { ftpsClient.setUseClientMode(this.useClientMode); } if (this.sessionCreation != null) { ftpsClient.setEnabledSessionCreation(this.sessionCreation); } if (this.keyManager != null) { ftpsClient.setKeyManager(this.keyManager); } if (this.needClientAuth != null) { ftpsClient.setNeedClientAuth(this.needClientAuth); } if (this.wantsClientAuth != null) { ftpsClient.setWantClientAuth(this.wantsClientAuth); } } }
From source file:org.teiid.test.teiid4441.FTPClientFactory.java
private void afterConnectProcessing(FTPClient client) throws IOException { if (this.parentDirectory == null) { throw new IOException("parentdirectory_not_set"); }/*from w w w. j av a 2 s .c o m*/ if (!client.changeWorkingDirectory(this.getParentDirectory())) { throw new IOException("ftp_dir_not_exist"); } updateClientMode(client); client.setFileType(this.fileType); client.setBufferSize(this.bufferSize); if (this.isFtps) { FTPSClient ftpsClient = (FTPSClient) client; if (this.getAuthValue() != null) { ftpsClient.setAuthValue(this.authValue); } if (this.trustManager != null) { ftpsClient.setTrustManager(this.trustManager); } if (this.cipherSuites != null) { ftpsClient.setEnabledCipherSuites(this.cipherSuites); } if (this.protocols != null) { ftpsClient.setEnabledProtocols(this.protocols); } if (this.sessionCreation != null) { ftpsClient.setEnabledSessionCreation(this.sessionCreation); } if (this.useClientMode != null) { ftpsClient.setUseClientMode(this.useClientMode); } if (this.sessionCreation != null) { ftpsClient.setEnabledSessionCreation(this.sessionCreation); } if (this.keyManager != null) { ftpsClient.setKeyManager(this.keyManager); } if (this.needClientAuth != null) { ftpsClient.setNeedClientAuth(this.needClientAuth); } if (this.wantsClientAuth != null) { ftpsClient.setWantClientAuth(this.wantsClientAuth); } } }