com.enterprisedt.net.ftp.ssl
Class SSLFTPCipherSuite

java.lang.Object
  extended by com.enterprisedt.net.ftp.ssl.SSLFTPCipherSuite

public class SSLFTPCipherSuite
extends java.lang.Object

This class servers two purposes: It provides an interface to obtaining information about particular cipher-suites and it provides a set of available cipher-suites.

A cipher-suite is a set of algorithms that is used for various aspects of SSL security. For a client and a server to be able to communicate, they must be able to agree on a particular cipher-suite. Different types of servers recognize different cipher-suites, so it is usually up to the client make sure that it shares at least one cipher-suite with the server that it is trying to communicate securely with. By itself, this fact would imply that the client should simply enable all possible suites in order to increase the chances of overlap. However, this is not necessarily wise since some cipher-suites (esp. those which adhered to the (now defunct) US export restrictions are relatively easy to break, whereas some others are trusted as currently being virtually unbreakable.

A cipher-suite consists of a digital signature algorithm, a key-exchange algorithm, an encryption algorithm, and a digest algorithm.

Version:
$Revision: 1.3 $
Author:
Hans Andersen

Field Summary
static SSLFTPCipherSuite TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_anon_WITH_DES_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_anon_WITH_RC4_128_MD5
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_DSS_WITH_DES_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DH_RSA_WITH_DES_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_WITH_DES_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_WITH_NULL_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_DSS_WITH_RC4_128_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_DHE_RSA_WITH_DES_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_3DES_EDE_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_AES_128_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_AES_256_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_DES_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_IDEA_CBC_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_NULL_MD5
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_NULL_SHA
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_RC4_128_MD5
          Cipher suite.
static SSLFTPCipherSuite TLS_RSA_WITH_RC4_128_SHA
          Cipher suite.
 
Method Summary
static SSLFTPCipherSuite getCipherSuite(short code)
          Returns a reference to the cipher-suite with the given code or null if no suite with this code exists.
static SSLFTPCipherSuite getCipherSuite(java.lang.String name)
          Returns a reference to the named cipher-suite or null if no suite with this name exists.
static java.lang.String[] getCipherSuiteNames()
          Returns the names of all available cipher-suites.
static SSLFTPCipherSuite[] getCipherSuites()
          Returns an array of object references to all available cipher-suites.
 short getCode()
          Returns the code of the cipher-suite
 java.lang.String getName()
          Returns the name of the cipher-suite.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TLS_RSA_WITH_NULL_MD5

public static final SSLFTPCipherSuite TLS_RSA_WITH_NULL_MD5
Cipher suite.
Name:TLS_RSA_WITH_NULL_MD5
Authorization:RSA
Key Exchange:RSA
Encryption:NULL
Digest:MD5


TLS_RSA_WITH_NULL_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_NULL_SHA
Cipher suite.
Name:TLS_RSA_WITH_NULL_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:NULL
Digest:SHA


TLS_RSA_EXPORT_WITH_RC4_40_MD5

public static final SSLFTPCipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5
Cipher suite.
Name:TLS_RSA_EXPORT_WITH_RC4_40_MD5
Authorization:RSA
Key Exchange:RSA_EXPORT
Encryption:RC4_40
Digest:MD5


TLS_RSA_WITH_RC4_128_MD5

public static final SSLFTPCipherSuite TLS_RSA_WITH_RC4_128_MD5
Cipher suite.
Name:TLS_RSA_WITH_RC4_128_MD5
Authorization:RSA
Key Exchange:RSA
Encryption:RC4_128
Digest:MD5


TLS_RSA_WITH_RC4_128_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_RC4_128_SHA
Cipher suite.
Name:TLS_RSA_WITH_RC4_128_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:RC4_128
Digest:SHA


TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5

public static final SSLFTPCipherSuite TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
Cipher suite.
Name:TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
Authorization:RSA
Key Exchange:RSA_EXPORT
Encryption:RC2_40_CBC
Digest:MD5


TLS_RSA_WITH_IDEA_CBC_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_IDEA_CBC_SHA
Cipher suite.
Name:TLS_RSA_WITH_IDEA_CBC_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:IDEA_CBC
Digest:SHA


TLS_RSA_EXPORT_WITH_DES40_CBC_SHA

public static final SSLFTPCipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
Cipher suite.
Name:TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
Authorization:RSA
Key Exchange:RSA_EXPORT
Encryption:DES40_CBC
Digest:SHA


TLS_RSA_WITH_DES_CBC_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_DES_CBC_SHA
Cipher suite.
Name:TLS_RSA_WITH_DES_CBC_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:DES_CBC
Digest:SHA


TLS_RSA_WITH_3DES_EDE_CBC_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_3DES_EDE_CBC_SHA
Cipher suite.
Name:TLS_RSA_WITH_3DES_EDE_CBC_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:3DES_EDE_CBC
Digest:SHA


TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
Cipher suite.
Name:TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
Authorization:RSA
Key Exchange:DH_DSS_EXPORT
Encryption:DES40_CBC
Digest:SHA


TLS_DH_DSS_WITH_DES_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_DSS_WITH_DES_CBC_SHA
Cipher suite.
Name:TLS_DH_DSS_WITH_DES_CBC_SHA
Authorization:DSS
Key Exchange:DH
Encryption:DES_CBC
Digest:SHA


TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
Cipher suite.
Name:TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
Authorization:DSS
Key Exchange:DH
Encryption:3DES_EDE_CBC
Digest:SHA


TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
Cipher suite.
Name:TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
Authorization:RSA
Key Exchange:DH_EXPORT
Encryption:DES40_CBC
Digest:SHA


TLS_DH_RSA_WITH_DES_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_RSA_WITH_DES_CBC_SHA
Cipher suite.
Name:TLS_DH_RSA_WITH_DES_CBC_SHA
Authorization:RSA
Key Exchange:DH
Encryption:DES_CBC
Digest:SHA


TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
Cipher suite.
Name:TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
Authorization:RSA
Key Exchange:DH
Encryption:3DES_EDE_CBC
Digest:SHA


TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
Cipher suite.
Name:TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
Authorization:DSS
Key Exchange:DHE_EXPORT
Encryption:DES_40_CBC
Digest:SHA


TLS_DHE_DSS_WITH_DES_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_WITH_DES_CBC_SHA
Cipher suite.
Name:TLS_DHE_DSS_WITH_DES_CBC_SHA
Authorization:DSS
Key Exchange:DHE
Encryption:DES_CBC
Digest:SHA


TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
Cipher suite.
Name:TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
Authorization:DSS
Key Exchange:DHE
Encryption:3DES_EDE_CBC
Digest:SHA


TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
Cipher suite.
Name:TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
Authorization:RSA
Key Exchange:DHE_EXPORT
Encryption:DES_40_CBC
Digest:SHA


TLS_DHE_RSA_WITH_DES_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_RSA_WITH_DES_CBC_SHA
Cipher suite.
Name:TLS_DHE_RSA_WITH_DES_CBC_SHA
Authorization:RSA
Key Exchange:DHE
Encryption:DES_CBC
Digest:SHA


TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
Cipher suite.
Name:TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
Authorization:RSA
Key Exchange:DHE
Encryption:3DES_EDE_CBC
Digest:SHA


TLS_DH_anon_EXPORT_WITH_RC4_40_MD5

public static final SSLFTPCipherSuite TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
Cipher suite.
Name:TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
Authorization:none
Key Exchange:DH_EXPORT
Encryption:RC4_40
Digest:MD5


TLS_DH_anon_WITH_RC4_128_MD5

public static final SSLFTPCipherSuite TLS_DH_anon_WITH_RC4_128_MD5
Cipher suite.
Name:TLS_DH_anon_WITH_RC4_128_MD5
Authorization:none
Key Exchange:DH
Encryption:RC4_128
Digest:MD5


TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
Cipher suite.
Name:TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
Authorization:none
Key Exchange:DH
Encryption:DES_40_CBC
Digest:SHA


TLS_DH_anon_WITH_DES_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_anon_WITH_DES_CBC_SHA
Cipher suite.
Name:TLS_DH_anon_WITH_DES_CBC_SHA
Authorization:none
Key Exchange:DH
Encryption:DES_CBC
Digest:SHA


TLS_DH_anon_WITH_3DES_EDE_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
Cipher suite.
Name:TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
Authorization:none
Key Exchange:DH
Encryption:3DES_EDE_CBC
Digest:SHA


TLS_RSA_WITH_AES_128_CBC_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_AES_128_CBC_SHA
Cipher suite.
Name:TLS_RSA_WITH_AES_128_CBC_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:AES_128_CBC
Digest:SHA


TLS_DH_DSS_WITH_AES_128_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA
Cipher suite.
Name:TLS_DH_DSS_WITH_AES_128_CBC_SHA
Authorization:DSS
Key Exchange:DH
Encryption:AES_128_CBC
Digest:SHA


TLS_DH_RSA_WITH_AES_128_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA
Cipher suite.
Name:TLS_DH_RSA_WITH_AES_128_CBC_SHA
Authorization:
Key Exchange:DH
Encryption:AES_128_CBC
Digest:SHA


TLS_DHE_DSS_WITH_AES_128_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Cipher suite.
Name:TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Authorization:DSS
Key Exchange:DHE
Encryption:AES_128_CBC
Digest:SHA


TLS_DHE_RSA_WITH_AES_128_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA
Cipher suite.
Name:TLS_DHE_RSA_WITH_AES_128_CBC_SHA
Authorization:RSA
Key Exchange:DHE
Encryption:AES_128_CBC
Digest:SHA


TLS_DH_anon_WITH_AES_128_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA
Cipher suite.
Name:TLS_DH_anon_WITH_AES_128_CBC_SHA
Authorization:none
Key Exchange:DH
Encryption:AES_128_CBC
Digest:SHA


TLS_RSA_WITH_AES_256_CBC_SHA

public static final SSLFTPCipherSuite TLS_RSA_WITH_AES_256_CBC_SHA
Cipher suite.
Name:TLS_RSA_WITH_AES_256_CBC_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:AES_256_CBC
Digest:SHA


TLS_DH_DSS_WITH_AES_256_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA
Cipher suite.
Name:TLS_DH_DSS_WITH_AES_256_CBC_SHA
Authorization:DSS
Key Exchange:DH
Encryption:AES_256_CBC
Digest:SHA


TLS_DH_RSA_WITH_AES_256_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA
Cipher suite.
Name:TLS_DH_RSA_WITH_AES_256_CBC_SHA
Authorization:RSA
Key Exchange:DH
Encryption:AES_256_CBC
Digest:SHA


TLS_DHE_DSS_WITH_AES_256_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA
Cipher suite.
Name:TLS_DHE_DSS_WITH_AES_256_CBC_SHA
Authorization:DSS
Key Exchange:DHE
Encryption:AES_256_CBC
Digest:SHA


TLS_DHE_RSA_WITH_AES_256_CBC_SHA

public static final SSLFTPCipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA
Cipher suite.
Name:TLS_DHE_RSA_WITH_AES_256_CBC_SHA
Authorization:RSA
Key Exchange:DHE
Encryption:AES_256_CBC
Digest:SHA


TLS_DH_anon_WITH_AES_256_CBC_SHA

public static final SSLFTPCipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA
Cipher suite.
Name:TLS_DH_anon_WITH_AES_256_CBC_SHA
Authorization:none
Key Exchange:DH
Encryption:AES_256_CBC
Digest:SHA


TLS_DHE_DSS_WITH_RC4_128_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_WITH_RC4_128_SHA
Cipher suite.
Name:TLS_DHE_DSS_WITH_RC4_128_SHA
Authorization:RSA
Key Exchange:RSA
Encryption:RC4_56
Digest:SHA


TLS_DHE_DSS_WITH_NULL_SHA

public static final SSLFTPCipherSuite TLS_DHE_DSS_WITH_NULL_SHA
Cipher suite.
Name:TLS_DHE_DSS_WITH_NULL_SHA
Authorization:DSS
Key Exchange:DHE
Encryption:NULL
Digest:SHA

Method Detail

getCode

public short getCode()
Returns the code of the cipher-suite

Returns:
The code of the cipher-suite.

getName

public java.lang.String getName()
                         throws com.enterprisedt.net.puretls.SSLException
Returns the name of the cipher-suite.

Returns:
The name of the cipher-suite.
Throws:
com.enterprisedt.net.puretls.SSLException - Thrown if the suite-code is invalid.

getCipherSuiteNames

public static java.lang.String[] getCipherSuiteNames()
                                              throws com.enterprisedt.net.puretls.SSLException
Returns the names of all available cipher-suites.

Returns:
A String-array containing the names of all available cipher-suites.
Throws:
com.enterprisedt.net.puretls.SSLException - Thrown if the code of a suite is invalid.

getCipherSuites

public static SSLFTPCipherSuite[] getCipherSuites()
Returns an array of object references to all available cipher-suites.

Returns:
An array of object references to all available cipher-suites.

getCipherSuite

public static SSLFTPCipherSuite getCipherSuite(java.lang.String name)
                                        throws com.enterprisedt.net.puretls.SSLException
Returns a reference to the named cipher-suite or null if no suite with this name exists.

Parameters:
name - Name of the required cipher-suite.
Returns:
the cipher-suite or null
Throws:
com.enterprisedt.net.puretls.SSLException - Thrown if no suite with the given name exists.

getCipherSuite

public static SSLFTPCipherSuite getCipherSuite(short code)
Returns a reference to the cipher-suite with the given code or null if no suite with this code exists.

Parameters:
code - Code of the required cipher-suite.
Returns:
the cipher-suite or null

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2001-2006 Enterprise Distributed Technologies Ltd. All Rights Reserved.