com.kodemuse.security.ssl
Class Finished

java.lang.Object
  |
  +--com.kodemuse.security.ssl.LogCapability
        |
        +--com.kodemuse.security.ssl.Finished
All Implemented Interfaces:
DataSource, SSLConstants

class Finished
extends LogCapability
implements SSLConstants, DataSource

 enum { client(0x434C4E54), server(0x53525652) } Sender;

 struct {
     opaque md5_hash[16];
     opaque sha_hash[20];
 } Finished;

 md5_hash       MD5(master_secret + pad2 +
                    MD5(handshake_messages + Sender +
                        master_secret + pad1));
 sha_hash        SHA(master_secret + pad2 +
                     SHA(handshake_messages + Sender +
                         master_secret + pad1));
 

Author:
Harmeet Bedi

Fields inherited from interface com.kodemuse.security.ssl.SSLConstants
ALERT_CONTENT, APPLICATION_DATA_CONTENT, BAD_CERTIFICATE_ALERTDESC, BAD_RECORD_MAC_ALERTDESC, CERTIFICATE_EXPIRED_ALERTDESC, CERTIFICATE_HANDSHAKE, CERTIFICATE_REQUEST_HANDSHAKE, CERTIFICATE_REVOKED_ALERTDESC, CERTIFICATE_UNKNOWN_ALERTDESC, CERTIFICATE_VERIFY_HANDSHAKE, CHANGE_CIPHER_SPEC_CONTENT, CLIENT, CLIENT_HELLO_HANDSHAKE, CLIENT_KEY_EXCHANGE_HANDSHAKE, CLOSE_ALERT, CLOSE_NOTIFY_ALERTDESC, DECOMPRESSION_FAILURE_ALERTDESC, FATAL_ALERTLEVEL, FINISHED_CLIENT_SENDER, FINISHED_HANDSHAKE, FINISHED_SERVER_SENDER, HANDSHAKE_CONTENT, HANDSHAKE_FAILURE_ALERTDESC, HELLO_REQUEST_HANDSHAKE, ILLEGAL_PARAMETER_ALERTDESC, MAX_RECORD_SIZE, MD5_PAD_1, MD5_PAD_2, MD5LEN, NO_CERTIFICATE_ALERTDESC, NULL_COMPRESSION, RNG, SERVER, SERVER_HELLO_DONE_HANDSHAKE, SERVER_HELLO_HANDSHAKE, SERVER_KEY_EXCHANGE_HANDSHAKE, SHA_PAD_1, SHA_PAD_2, SHA1LEN, SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_WITH_RC4_128_MD5, SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA, SSL_DH_DSS_WITH_DES_CBC_SHA, SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DH_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA, SSL_FORTEZZA_KEA_WITH_NULL_SHA, SSL_FORTEZZA_KEA_WITH_RC4_128_SHA, SSL_NULL_WITH_NULL_NULL, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_RSA_WITH_IDEA_CBC_SHA, SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA, SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, SSLV3_VERSION, TLSV1_VERSION, UNEXPECTED_MESSAGE_ALERTDESC, UNEXPECTEDMSG_ALERT, UNSUPPORTED_CERTIFICATE_ALERTDESC, WARNING_ALERTLEVEL
 
Constructor Summary
Finished(byte[] md5, byte[] sha)
           
Finished(java.io.DataInputStream inp, CipherSpec spec)
           
 
Method Summary
 byte[] getData()
           
 byte[] getMD5()
           
 byte[] getSHA1()
           
 boolean isEqual(Finished fin)
           
 java.lang.String toString()
           
 void write(OutputBuffer out)
           
 
Methods inherited from class com.kodemuse.security.ssl.LogCapability
log, protocolLog
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Finished

public Finished(java.io.DataInputStream inp,
                CipherSpec spec)
         throws java.io.IOException

Finished

public Finished(byte[] md5,
                byte[] sha)
Method Detail

getMD5

public byte[] getMD5()

getSHA1

public byte[] getSHA1()

getData

public byte[] getData()

write

public void write(OutputBuffer out)
Specified by:
write in interface DataSource

toString

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

isEqual

public boolean isEqual(Finished fin)