COM.claymoresystems.sslg
Interface SSLSocketXInt

All Known Implementing Classes:
SSLSocket

public interface SSLSocketXInt

Extended socket functions that only apply to SSL Sockets


Field Summary
static int CLIENT
           
static int SERVER
           
 
Method Summary
 java.util.Vector getCertificateChain()
          get the certificate chain presented by the peer.
 int getCipherSuite()
          get the cipherSuite that was negotiated on this socket
 SSLPolicyInt getPolicy()
          Get the policy associated with this socket
 byte[] getSessionID()
          Get the SessionID associated with this session
 int getVersion()
          Get the version of SSL negotiated.
 void renegotiate(SSLPolicyInt policy)
          Renegotiate this connection using the specified policy.
 void sendClose()
          Send our half of the SSL close_notify handshake
 void waitForClose(boolean enforceFinished)
          Wait to receive a close_notify from the other side.
 

Field Detail

CLIENT

public static final int CLIENT
See Also:
Constant Field Values

SERVER

public static final int SERVER
See Also:
Constant Field Values
Method Detail

getCipherSuite

public int getCipherSuite()
                   throws java.io.IOException
get the cipherSuite that was negotiated on this socket

Returns:
the cipherSuite as one of the integers defined in SSLPolicyInt
java.io.IOException

getCertificateChain

public java.util.Vector getCertificateChain()
                                     throws java.io.IOException
get the certificate chain presented by the peer. This is relevant for clients and servers if Client Authentication is being used.

Returns:
the certificate chain as a Vector of Certificates, null if unavailable
java.io.IOException

getPolicy

public SSLPolicyInt getPolicy()
Get the policy associated with this socket

Returns:
the policy

getSessionID

public byte[] getSessionID()
                    throws java.io.IOException
Get the SessionID associated with this session

java.io.IOException

getVersion

public int getVersion()
               throws java.io.IOException
Get the version of SSL negotiated.

Returns:
768 (0x300) for SSLv3 or 769 (0x301) for TLSv1
java.io.IOException

renegotiate

public void renegotiate(SSLPolicyInt policy)
                 throws java.io.IOException
Renegotiate this connection using the specified policy. This may be used (for instance) to renegotiate using client authentication. If renegotiation is successful, this policy becomes the current policy for this socket

Throws:
java.io.IOException - if something goes wrong in renegotiation

sendClose

public void sendClose()
               throws java.io.IOException
Send our half of the SSL close_notify handshake

Throws:
java.io.IOException - if the close_notify alert can't be sent

waitForClose

public void waitForClose(boolean enforceFinished)
                  throws java.io.IOException
Wait to receive a close_notify from the other side.

Parameters:
enforceFinished - insist that no more data be present on the connection before the close_notify is received. This ensures that the application has read all the data that the peer sent
Throws:
java.io.IOException - if the close_notify couldn't be read or if enforceFinished is true and more data was present.


Copyright (c) 1999-2001 Claymore Systems, Inc., All Rights Reserved.