iaik.security.ssl
Class CipherSuite

java.lang.Object
  |
  +--iaik.security.ssl.CipherSuite

public final class CipherSuite
extends java.lang.Object
implements java.io.Serializable

A CipherSuite defines a cipher specification supported in SSL and TLS. This includes:

See Also:
Serialized Form

Field Summary
static CipherSuite[] CS_DH_ANON
          Domestic ciphersuites which use no authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_DH_ANON_EXPORT
          Domestic ciphersuites which use no authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_DH_DSS
          Domestic ciphersuite which use and DSS signed Diffie-Hellman certificate for authentication and key exchange.
static CipherSuite[] CS_DH_DSS_EXPORT
          512 bit export ciphersuites which use and DSS signed Diffie-Hellman certificate for authentication and key exchange.
static CipherSuite[] CS_DH_RSA
          Domestic ciphersuite which use and RSA signed Diffie-Hellman certificate for authentication and key exchange.
static CipherSuite[] CS_DH_RSA_EXPORT
          512 bit export ciphersuite which use and RSA signed Diffie-Hellman certificate for authentication and key exchange.
static CipherSuite[] CS_DHE_DSS
          Domestic ciphersuites which use DSS for authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_DHE_DSS_EXPORT
          512 bit export ciphersuites which use DSS for authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_DHE_DSS_EXPORT1024
          1024 bit export ciphersuites which use DSS for authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_DHE_RSA
          Domestic ciphersuites which use RSA for authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_DHE_RSA_EXPORT
          512 bit export ciphersuites which use RSA for authentication and ephemeral Diffie-Hellman for key exchange.
static CipherSuite[] CS_RSA
          Domestic ciphersuites which use RSA for authentication and key exchange.
static CipherSuite[] CS_RSA_EXPORT
          512 bit export ciphersuites which use RSA for authentication and key exchange.
static CipherSuite[] CS_RSA_EXPORT1024
          1024 bit export ciphersuites which use RSA for authentication and key exchange.
static CipherSuite[] CS_RSA_WITH_NULL
          Ciphersuites which use RSA for authentication and key exchange but no encryption.
static CipherSuite[] CS_SSL_V2
           
static CipherSuite PRIVATE_RSA_WITH_RC2_CBC_MD5
           
static CipherSuite SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
          Exportable cipher suite.
static CipherSuite SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
          Exportable cipher suite.
static CipherSuite SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DH_anon_WITH_DES_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DH_anon_WITH_RC4_128_MD5
          Non-Exportable cipher suite/ Uses a 128 bit key to encrypt data with RC4/
static CipherSuite SSL_DH_anon_WITH_RC4_MD5
          Deprecated. use SSL_DH_anon_WITH_RC4_128_MD5 instead
static CipherSuite SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
          Exportable cipher suite.
static CipherSuite SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DH_DSS_WITH_DES_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
          Exportable cipher suite.
static CipherSuite SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DH_RSA_WITH_DES_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
          Exportable cipher suite.
static CipherSuite SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA
          56 bit exportable ciphersuite.
static CipherSuite SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA
          56 bit exportable ciphersuite.
static CipherSuite SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DHE_DSS_WITH_DES_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DHE_DSS_WITH_RC4_128_SHA
          Non-exportable ciphersuite.
static CipherSuite SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
          Exportable cipher suite.
static CipherSuite SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_DHE_RSA_WITH_DES_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
          Exportable cipher suite.
static CipherSuite SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
          Exportable cipher suite.
static CipherSuite SSL_RSA_EXPORT_WITH_RC4_40_MD5
          Exportable cipher suite.
static CipherSuite SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
          56 bit exportable ciphersuite.
static CipherSuite SSL_RSA_EXPORT1024_WITH_RC4_56_SHA
          56 bit exportable ciphersuite.
static CipherSuite SSL_RSA_WITH_3DES_EDE_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_RSA_WITH_DES_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_RSA_WITH_IDEA_CBC_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_RSA_WITH_NULL_MD5
          Does not encrypt data but uses MD5 for the MAC.
static CipherSuite SSL_RSA_WITH_NULL_SHA
          Does not encrypt data but uses SHA for the MAC.
static CipherSuite SSL_RSA_WITH_RC4_128_MD5
          Non-Exportable cipher suite.
static CipherSuite SSL_RSA_WITH_RC4_128_SHA
          Non-Exportable cipher suite.
static CipherSuite SSL_RSA_WITH_RC4_MD5
          Deprecated. use SSL_RSA_WITH_RC4_128_MD5 instead
static CipherSuite SSL_RSA_WITH_RC4_SHA
          Deprecated. use SSL_RSA_WITH_RC4_128_SHA instead
 
Constructor Summary
CipherSuite(java.lang.String cipherSuiteName, java.lang.String keyExchangeAlgorithm, java.lang.String cipherAlgorithm, java.lang.String hashAlgorithm, int id, int keyMaterial, int IVSize)
          Create a new user defined ciphersuite.
 
Method Summary
 boolean equals(java.lang.Object o)
           
 java.lang.String getCipherAlgorithm()
          Returns the name of the encryption algorithm.
static CipherSuite[] getDefault()
          Deprecated. use new CipherSuiteList(CipherSuiteList.L_DEFAULT) instead.
 int getExpandedKeyLength()
          Returns the number of bytes actually fed into the encryption algorithm.
 int getHashSize()
          Returns the hash size for the given MessageDigest.
 int getID()
          Returns the identifier of this CipherSuite.
 int getIVSize()
          Returns the number of bytes that are used for the initialization vector.
 java.lang.String getKeyExchangeAlgorithm()
          Returns the name of the key exchange algorithm.
 int getKeyLength()
          Returns the number of bytes that are used for generating the write keys.
 int getKeySizeLimit()
          Returns the key size limit for certificates.
 java.lang.String getMacAlgorithm()
          Returns the name of the MAC algorithm.
 java.lang.String getName()
          Returns the name of this CipherSuite.
 int hashCode()
           
 boolean isAvailable()
          Check if this ciphersuite is available, i.e.
 boolean isExportable()
          Returns true if this cipher suite is exportable.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

SSL_RSA_WITH_NULL_MD5

public static final CipherSuite SSL_RSA_WITH_NULL_MD5
Does not encrypt data but uses MD5 for the MAC.

SSL_RSA_WITH_NULL_SHA

public static final CipherSuite SSL_RSA_WITH_NULL_SHA
Does not encrypt data but uses SHA for the MAC.

SSL_RSA_EXPORT_WITH_RC4_40_MD5

public static final CipherSuite SSL_RSA_EXPORT_WITH_RC4_40_MD5
Exportable cipher suite. Uses a 40 bit key to encrypt data with RC4.

SSL_RSA_WITH_RC4_128_MD5

public static final CipherSuite SSL_RSA_WITH_RC4_128_MD5
Non-Exportable cipher suite. Uses a 128 bit key to encrypt data with RC4.

SSL_RSA_WITH_RC4_128_SHA

public static final CipherSuite SSL_RSA_WITH_RC4_128_SHA
Non-Exportable cipher suite. Uses a 128 bit key to encrypt data with RC4.

SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5

public static final CipherSuite SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
Exportable cipher suite. Uses a 40 bit key to encrypt data with RC2 in CBC mode.

SSL_RSA_WITH_IDEA_CBC_SHA

public static final CipherSuite SSL_RSA_WITH_IDEA_CBC_SHA
Non-Exportable cipher suite. Uses a 128 bit key to encrypt data with IDEA in CBC mode.

SSL_RSA_EXPORT_WITH_DES40_CBC_SHA

public static final CipherSuite SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
Exportable cipher suite. Uses a 40 bit key to encrypt data with DES in CBC mode.

SSL_RSA_WITH_DES_CBC_SHA

public static final CipherSuite SSL_RSA_WITH_DES_CBC_SHA
Non-Exportable cipher suite. Uses a 56 bit key to encrypt data with DES in CBC mode.

SSL_RSA_WITH_3DES_EDE_CBC_SHA

public static final CipherSuite SSL_RSA_WITH_3DES_EDE_CBC_SHA
Non-Exportable cipher suite. Uses a 168 bit key to encrypt data with Triple DES in CBC mode.

SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA

public static final CipherSuite SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
Exportable cipher suite. Uses a 40 bit key to encrypt data with DES in CBC mode.

SSL_DH_DSS_WITH_DES_CBC_SHA

public static final CipherSuite SSL_DH_DSS_WITH_DES_CBC_SHA
Non-Exportable cipher suite. Uses a 56 bit key to encrypt data with DES in CBC mode.

SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA

public static final CipherSuite SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA
Non-Exportable cipher suite. Uses a 168 bit key to encrypt data with Triple DES in CBC mode.

SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA

public static final CipherSuite SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
Exportable cipher suite. Uses a 40 bit key to encrypt data with DES in CBC mode.

SSL_DH_RSA_WITH_DES_CBC_SHA

public static final CipherSuite SSL_DH_RSA_WITH_DES_CBC_SHA
Non-Exportable cipher suite. Uses a 56 bit key to encrypt data with DES in CBC mode.

SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA

public static final CipherSuite SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA
Non-Exportable cipher suite. Uses a 168 bit key to encrypt data with Triple DES in CBC mode.

SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA

public static final CipherSuite SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
Exportable cipher suite. Uses a 40 bit key to encrypt data with DES in CBC mode.

SSL_DHE_DSS_WITH_DES_CBC_SHA

public static final CipherSuite SSL_DHE_DSS_WITH_DES_CBC_SHA
Non-Exportable cipher suite. Uses a 56 bit key to encrypt data with DES in CBC mode.

SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

public static final CipherSuite SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
Non-Exportable cipher suite. Uses a 168 bit key to encrypt data with Triple DES in CBC mode.

SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA

public static final CipherSuite SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
Exportable cipher suite. Uses a 40 bit key to encrypt data with DES in CBC mode.

SSL_DHE_RSA_WITH_DES_CBC_SHA

public static final CipherSuite SSL_DHE_RSA_WITH_DES_CBC_SHA
Non-Exportable cipher suite. Uses a 56 bit key to encrypt data with DES in CBC mode.

SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA

public static final CipherSuite SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
Non-Exportable cipher suite. Uses a 168 bit key to encrypt data with Triple DES in CBC mode.

SSL_DH_anon_EXPORT_WITH_RC4_40_MD5

public static final CipherSuite SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
Exportable cipher suite. Uses a 40 bit key to encrypt data with RC4.

SSL_DH_anon_WITH_RC4_128_MD5

public static final CipherSuite SSL_DH_anon_WITH_RC4_128_MD5
Non-Exportable cipher suite/ Uses a 128 bit key to encrypt data with RC4/

SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA

public static final CipherSuite SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
Exportable cipher suite. Uses a 40 bit key to encrypt data with DES in CBC mode.

SSL_DH_anon_WITH_DES_CBC_SHA

public static final CipherSuite SSL_DH_anon_WITH_DES_CBC_SHA
Non-Exportable cipher suite. Uses a 56 bit key to encrypt data with DES in CBC mode.

SSL_DH_anon_WITH_3DES_EDE_CBC_SHA

public static final CipherSuite SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
Non-Exportable cipher suite. Uses a 168 bit key to encrypt data with Triple DES in CBC mode.

SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA

public static final CipherSuite SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
56 bit exportable ciphersuite. RSA key exchange and ancryption with 56 bit DES/CBC.

SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA

public static final CipherSuite SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA
56 bit exportable ciphersuite. DHE key exchange and encryption with 56 bit DES/CBC.

SSL_RSA_EXPORT1024_WITH_RC4_56_SHA

public static final CipherSuite SSL_RSA_EXPORT1024_WITH_RC4_56_SHA
56 bit exportable ciphersuite. RSA key exchange and encryption with 56 bit RC4.

SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA

public static final CipherSuite SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA
56 bit exportable ciphersuite. DHE key exchange and encryption with 56 bit RC4.

SSL_DHE_DSS_WITH_RC4_128_SHA

public static final CipherSuite SSL_DHE_DSS_WITH_RC4_128_SHA
Non-exportable ciphersuite. DHE key exchange and encryption with 128 bit RC4.

PRIVATE_RSA_WITH_RC2_CBC_MD5

public static final CipherSuite PRIVATE_RSA_WITH_RC2_CBC_MD5

CS_SSL_V2

public static final CipherSuite[] CS_SSL_V2

CS_RSA

public static final CipherSuite[] CS_RSA
Domestic ciphersuites which use RSA for authentication and key exchange.
 SSL_RSA_WITH_RC4_128_MD5,
 SSL_RSA_WITH_RC4_128_SHA,
 SSL_RSA_WITH_IDEA_CBC_SHA,
 SSL_RSA_WITH_DES_CBC_SHA,
 SSL_RSA_WITH_3DES_EDE_CBC_SHA,
 

CS_RSA_WITH_NULL

public static final CipherSuite[] CS_RSA_WITH_NULL
Ciphersuites which use RSA for authentication and key exchange but no encryption.
 SSL_RSA_WITH_NULL_MD5,
 SSL_RSA_WITH_NULL_SHA,
 

CS_RSA_EXPORT

public static final CipherSuite[] CS_RSA_EXPORT
512 bit export ciphersuites which use RSA for authentication and key exchange.
 SSL_RSA_EXPORT_WITH_RC4_40_MD5,
 SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
 SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
 

CS_RSA_EXPORT1024

public static final CipherSuite[] CS_RSA_EXPORT1024
1024 bit export ciphersuites which use RSA for authentication and key exchange.
 SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA,
 SSL_RSA_EXPORT1024_WITH_RC4_56_SHA,
 

CS_DHE_RSA

public static final CipherSuite[] CS_DHE_RSA
Domestic ciphersuites which use RSA for authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DHE_RSA_WITH_DES_CBC_SHA,
 SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
 

CS_DHE_RSA_EXPORT

public static final CipherSuite[] CS_DHE_RSA_EXPORT
512 bit export ciphersuites which use RSA for authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
 

CS_DHE_DSS

public static final CipherSuite[] CS_DHE_DSS
Domestic ciphersuites which use DSS for authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DHE_DSS_WITH_DES_CBC_SHA,
 SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
 SSL_DHE_DSS_WITH_RC4_128_SHA,
 

CS_DHE_DSS_EXPORT

public static final CipherSuite[] CS_DHE_DSS_EXPORT
512 bit export ciphersuites which use DSS for authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
 

CS_DHE_DSS_EXPORT1024

public static final CipherSuite[] CS_DHE_DSS_EXPORT1024
1024 bit export ciphersuites which use DSS for authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA,
 SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA,
 

CS_DH_RSA

public static final CipherSuite[] CS_DH_RSA
Domestic ciphersuite which use and RSA signed Diffie-Hellman certificate for authentication and key exchange.
 SSL_DH_RSA_WITH_DES_CBC_SHA,
 SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA,
 

CS_DH_RSA_EXPORT

public static final CipherSuite[] CS_DH_RSA_EXPORT
512 bit export ciphersuite which use and RSA signed Diffie-Hellman certificate for authentication and key exchange.
 SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,
 

CS_DH_DSS

public static final CipherSuite[] CS_DH_DSS
Domestic ciphersuite which use and DSS signed Diffie-Hellman certificate for authentication and key exchange.
 SSL_DH_DSS_WITH_DES_CBC_SHA,
 SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA,
 

CS_DH_DSS_EXPORT

public static final CipherSuite[] CS_DH_DSS_EXPORT
512 bit export ciphersuites which use and DSS signed Diffie-Hellman certificate for authentication and key exchange.
 SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,
 

CS_DH_ANON

public static final CipherSuite[] CS_DH_ANON
Domestic ciphersuites which use no authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DH_anon_WITH_RC4_128_MD5,
 SSL_DH_anon_WITH_DES_CBC_SHA,
 SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
 

CS_DH_ANON_EXPORT

public static final CipherSuite[] CS_DH_ANON_EXPORT
Domestic ciphersuites which use no authentication and ephemeral Diffie-Hellman for key exchange.
 SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
 SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
 

SSL_RSA_WITH_RC4_MD5

public static final CipherSuite SSL_RSA_WITH_RC4_MD5
Deprecated. use SSL_RSA_WITH_RC4_128_MD5 instead


SSL_RSA_WITH_RC4_SHA

public static final CipherSuite SSL_RSA_WITH_RC4_SHA
Deprecated. use SSL_RSA_WITH_RC4_128_SHA instead


SSL_DH_anon_WITH_RC4_MD5

public static final CipherSuite SSL_DH_anon_WITH_RC4_MD5
Deprecated. use SSL_DH_anon_WITH_RC4_128_MD5 instead

Constructor Detail

CipherSuite

public CipherSuite(java.lang.String cipherSuiteName,
                   java.lang.String keyExchangeAlgorithm,
                   java.lang.String cipherAlgorithm,
                   java.lang.String hashAlgorithm,
                   int id,
                   int keyMaterial,
                   int IVSize)
Create a new user defined ciphersuite. It can be used to define custom private ciphersuites that use e.g. Blowfish as symmetric cipher or to define one that uses e.g. TripleDES with MD5. However, it is currently not possible to add new key exchange algorithms, new hash algorithms, or to define an exportable ciphersuite.
Parameters:
cipherSuiteName - the name of the ciphersuite
keyExchangeAlgorithm - the keyExchangeAlgorithm, e.g. RSA
cipherAlgorithm - the name and mode of the symmetric cipher per JCE convention, e.g. DES/CBC/NoPadding (always use NoPadding)
hashAlgorithm - either SHA or MD5
id1 - high byte of the ciphersuite id. Should be 0xFF for private ciphersuites.
id2 - low byte of the ciphersuite id.
keyMaterial - size of the key to be used for the symmetric cipher in bytes, e.g. 16.
IVSize - blocksize of the cipher in bytes for block ciphers or 0 for stream ciphers.
Method Detail

getName

public java.lang.String getName()
Returns the name of this CipherSuite.
Returns:
the name of this CipherSuite

getID

public int getID()
Returns the identifier of this CipherSuite.
Returns:
the identifier of this CipherSuite

getCipherAlgorithm

public java.lang.String getCipherAlgorithm()
Returns the name of the encryption algorithm.
Returns:
the name of the encryption algorithm

getMacAlgorithm

public java.lang.String getMacAlgorithm()
Returns the name of the MAC algorithm.
Returns:
the name of the MAC algorithm

getKeyExchangeAlgorithm

public java.lang.String getKeyExchangeAlgorithm()
Returns the name of the key exchange algorithm.
Returns:
the name of the key exchange algorithm

isExportable

public boolean isExportable()
Returns true if this cipher suite is exportable.
Returns:
true if this cipher suite is exportable

getKeySizeLimit

public int getKeySizeLimit()
Returns the key size limit for certificates.
Returns:
the key size limit for this CipherSuite

getHashSize

public int getHashSize()
Returns the hash size for the given MessageDigest.
Returns:
the key size limit for this CipherSuite

getKeyLength

public int getKeyLength()
Returns the number of bytes that are used for generating the write keys.
Returns:
the number of bytes for the keys

getExpandedKeyLength

public int getExpandedKeyLength()
Returns the number of bytes actually fed into the encryption algorithm.
Returns:
the number of bytes for the keys

getIVSize

public int getIVSize()
Returns the number of bytes that are used for the initialization vector.
Returns:
the number of bytes for the IV

isAvailable

public boolean isAvailable()
Check if this ciphersuite is available, i.e. the current SecurityProvider supports all necessary algorithms.
See Also:
SecurityProvider.isImplemented(java.lang.String)

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

toString

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

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getDefault

public static CipherSuite[] getDefault()
Deprecated. use new CipherSuiteList(CipherSuiteList.L_DEFAULT) instead.