Bouncy Castle Cryptography 1.50

org.bouncycastle.crypto.tls
Class DTLSClientProtocol

java.lang.Object
  extended by org.bouncycastle.crypto.tls.DTLSProtocol
      extended by org.bouncycastle.crypto.tls.DTLSClientProtocol

public class DTLSClientProtocol
extends DTLSProtocol


Nested Class Summary
protected static class DTLSClientProtocol.ClientHandshakeState
           
 
Field Summary
 
Fields inherited from class org.bouncycastle.crypto.tls.DTLSProtocol
secureRandom
 
Constructor Summary
DTLSClientProtocol(java.security.SecureRandom secureRandom)
           
 
Method Summary
protected  DTLSTransport clientHandshake(DTLSClientProtocol.ClientHandshakeState state, org.bouncycastle.crypto.tls.DTLSRecordLayer recordLayer)
           
 DTLSTransport connect(TlsClient client, DatagramTransport transport)
           
protected  byte[] generateCertificateVerify(DTLSClientProtocol.ClientHandshakeState state, DigitallySigned certificateVerify)
           
protected  byte[] generateClientHello(DTLSClientProtocol.ClientHandshakeState state, TlsClient client)
           
protected  byte[] generateClientKeyExchange(DTLSClientProtocol.ClientHandshakeState state)
           
protected  void invalidateSession(DTLSClientProtocol.ClientHandshakeState state)
           
protected static byte[] patchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie)
           
protected  void processCertificateRequest(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void processCertificateStatus(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  byte[] processHelloVerifyRequest(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void processNewSessionTicket(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  Certificate processServerCertificate(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void processServerHello(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void processServerKeyExchange(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void processServerSupplementalData(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void reportServerVersion(DTLSClientProtocol.ClientHandshakeState state, ProtocolVersion server_version)
           
 
Methods inherited from class org.bouncycastle.crypto.tls.DTLSProtocol
evaluateMaxFragmentLengthExtension, generateCertificate, generateSupplementalData, processFinished, validateSelectedCipherSuite
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DTLSClientProtocol

public DTLSClientProtocol(java.security.SecureRandom secureRandom)
Method Detail

connect

public DTLSTransport connect(TlsClient client,
                             DatagramTransport transport)
                      throws java.io.IOException
Throws:
java.io.IOException

clientHandshake

protected DTLSTransport clientHandshake(DTLSClientProtocol.ClientHandshakeState state,
                                        org.bouncycastle.crypto.tls.DTLSRecordLayer recordLayer)
                                 throws java.io.IOException
Throws:
java.io.IOException

generateCertificateVerify

protected byte[] generateCertificateVerify(DTLSClientProtocol.ClientHandshakeState state,
                                           DigitallySigned certificateVerify)
                                    throws java.io.IOException
Throws:
java.io.IOException

generateClientHello

protected byte[] generateClientHello(DTLSClientProtocol.ClientHandshakeState state,
                                     TlsClient client)
                              throws java.io.IOException
Throws:
java.io.IOException

generateClientKeyExchange

protected byte[] generateClientKeyExchange(DTLSClientProtocol.ClientHandshakeState state)
                                    throws java.io.IOException
Throws:
java.io.IOException

invalidateSession

protected void invalidateSession(DTLSClientProtocol.ClientHandshakeState state)

processCertificateRequest

protected void processCertificateRequest(DTLSClientProtocol.ClientHandshakeState state,
                                         byte[] body)
                                  throws java.io.IOException
Throws:
java.io.IOException

processCertificateStatus

protected void processCertificateStatus(DTLSClientProtocol.ClientHandshakeState state,
                                        byte[] body)
                                 throws java.io.IOException
Throws:
java.io.IOException

processHelloVerifyRequest

protected byte[] processHelloVerifyRequest(DTLSClientProtocol.ClientHandshakeState state,
                                           byte[] body)
                                    throws java.io.IOException
Throws:
java.io.IOException

processNewSessionTicket

protected void processNewSessionTicket(DTLSClientProtocol.ClientHandshakeState state,
                                       byte[] body)
                                throws java.io.IOException
Throws:
java.io.IOException

processServerCertificate

protected Certificate processServerCertificate(DTLSClientProtocol.ClientHandshakeState state,
                                               byte[] body)
                                        throws java.io.IOException
Throws:
java.io.IOException

processServerHello

protected void processServerHello(DTLSClientProtocol.ClientHandshakeState state,
                                  byte[] body)
                           throws java.io.IOException
Throws:
java.io.IOException

processServerKeyExchange

protected void processServerKeyExchange(DTLSClientProtocol.ClientHandshakeState state,
                                        byte[] body)
                                 throws java.io.IOException
Throws:
java.io.IOException

processServerSupplementalData

protected void processServerSupplementalData(DTLSClientProtocol.ClientHandshakeState state,
                                             byte[] body)
                                      throws java.io.IOException
Throws:
java.io.IOException

reportServerVersion

protected void reportServerVersion(DTLSClientProtocol.ClientHandshakeState state,
                                   ProtocolVersion server_version)
                            throws java.io.IOException
Throws:
java.io.IOException

patchClientHelloWithCookie

protected static byte[] patchClientHelloWithCookie(byte[] clientHelloBody,
                                                   byte[] cookie)
                                            throws java.io.IOException
Throws:
java.io.IOException

Bouncy Castle Cryptography 1.50