Bouncy Castle Cryptography Library 1.49

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, byte[] signature)
           
protected  byte[] generateClientHello(DTLSClientProtocol.ClientHandshakeState state, TlsClient client)
           
protected  byte[] generateClientKeyExchange(DTLSClientProtocol.ClientHandshakeState state)
           
protected static byte[] parseHelloVerifyRequest(TlsContext context, byte[] body)
           
protected static byte[] patchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie)
           
protected  void processCertificateRequest(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void processNewSessionTicket(DTLSClientProtocol.ClientHandshakeState state, byte[] body)
           
protected  void 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)
           
 
Methods inherited from class org.bouncycastle.crypto.tls.DTLSProtocol
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,
                                           byte[] signature)
                                    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

processCertificateRequest

protected void processCertificateRequest(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 void 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

parseHelloVerifyRequest

protected static byte[] parseHelloVerifyRequest(TlsContext context,
                                                byte[] body)
                                         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 Library 1.49