|
Bouncy Castle Cryptography Library 1.49 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.crypto.tls.TlsProtocol
public abstract class TlsProtocol
An implementation of all high level protocols in TLS 1.0/1.1.
Field Summary | |
---|---|
protected short |
connection_state
|
protected static short |
CS_CERTIFICATE_REQUEST
|
protected static short |
CS_CERTIFICATE_VERIFY
|
protected static short |
CS_CLIENT_CERTIFICATE
|
protected static short |
CS_CLIENT_CHANGE_CIPHER_SPEC
|
protected static short |
CS_CLIENT_FINISHED
|
protected static short |
CS_CLIENT_HELLO
|
protected static short |
CS_CLIENT_KEY_EXCHANGE
|
protected static short |
CS_CLIENT_SUPPLEMENTAL_DATA
|
protected static short |
CS_SERVER_CERTIFICATE
|
protected static short |
CS_SERVER_CHANGE_CIPHER_SPEC
|
protected static short |
CS_SERVER_FINISHED
|
protected static short |
CS_SERVER_HELLO
|
protected static short |
CS_SERVER_HELLO_DONE
|
protected static short |
CS_SERVER_KEY_EXCHANGE
|
protected static short |
CS_SERVER_SESSION_TICKET
|
protected static short |
CS_SERVER_SUPPLEMENTAL_DATA
|
protected static short |
CS_START
|
protected boolean |
expectSessionTicket
|
protected static java.lang.Integer |
EXT_RenegotiationInfo
|
protected static java.lang.Integer |
EXT_SessionTicket
|
protected org.bouncycastle.crypto.tls.RecordStream |
recordStream
|
protected boolean |
secure_renegotiation
|
protected java.security.SecureRandom |
secureRandom
|
protected SecurityParameters |
securityParameters
|
Constructor Summary | |
---|---|
TlsProtocol(java.io.InputStream input,
java.io.OutputStream output,
java.security.SecureRandom secureRandom)
|
Method Summary | |
---|---|
protected static boolean |
arrayContains(int[] a,
int n)
|
protected static boolean |
arrayContains(short[] a,
short n)
|
protected static void |
assertEmpty(java.io.ByteArrayInputStream buf)
Make sure the InputStream 'buf' now empty. |
void |
close()
Closes this connection. |
protected void |
completeHandshake()
|
protected static byte[] |
createRandomBlock(java.security.SecureRandom random)
|
protected static byte[] |
createRenegotiationInfo(byte[] renegotiated_connection)
|
protected byte[] |
createVerifyData(boolean isServer)
|
protected static void |
establishMasterSecret(TlsContext context,
TlsKeyExchange keyExchange)
|
protected void |
failWithError(short alertLevel,
short alertDescription)
Terminate this connection with an alert. |
protected void |
flush()
|
protected abstract org.bouncycastle.crypto.tls.AbstractTlsContext |
getContext()
|
java.io.InputStream |
getInputStream()
|
java.io.OutputStream |
getOutputStream()
|
protected abstract TlsPeer |
getPeer()
|
protected static int |
getPRFAlgorithm(int ciphersuite)
|
protected abstract void |
handleChangeCipherSpecMessage()
|
protected void |
handleClose(boolean user_canceled)
|
protected abstract void |
handleHandshakeMessage(short type,
byte[] buf)
|
protected void |
handleWarningMessage(short description)
|
protected void |
processFinishedMessage(java.io.ByteArrayInputStream buf)
|
protected void |
processRecord(short protocol,
byte[] buf,
int offset,
int len)
|
protected void |
raiseAlert(short alertLevel,
short alertDescription,
java.lang.String message,
java.lang.Exception cause)
|
protected void |
raiseWarning(short alertDescription,
java.lang.String message)
|
protected int |
readApplicationData(byte[] buf,
int offset,
int len)
Read data from the network. |
protected static java.util.Hashtable |
readExtensions(java.io.ByteArrayInputStream input)
|
protected static java.util.Vector |
readSupplementalDataMessage(java.io.ByteArrayInputStream input)
|
protected void |
safeReadRecord()
|
protected void |
safeWriteRecord(short type,
byte[] buf,
int offset,
int len)
|
protected void |
sendCertificateMessage(Certificate certificate)
|
protected void |
sendChangeCipherSpecMessage()
|
protected void |
sendFinishedMessage()
|
protected void |
sendSupplementalDataMessage(java.util.Vector supplementalData)
|
protected void |
writeData(byte[] buf,
int offset,
int len)
Send some application data to the remote system. |
protected static void |
writeExtensions(java.io.OutputStream output,
java.util.Hashtable extensions)
|
protected static void |
writeSupplementalData(java.io.OutputStream output,
java.util.Vector supplementalData)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.Integer EXT_RenegotiationInfo
protected static final java.lang.Integer EXT_SessionTicket
protected static final short CS_START
protected static final short CS_CLIENT_HELLO
protected static final short CS_SERVER_HELLO
protected static final short CS_SERVER_SUPPLEMENTAL_DATA
protected static final short CS_SERVER_CERTIFICATE
protected static final short CS_SERVER_KEY_EXCHANGE
protected static final short CS_CERTIFICATE_REQUEST
protected static final short CS_SERVER_HELLO_DONE
protected static final short CS_CLIENT_SUPPLEMENTAL_DATA
protected static final short CS_CLIENT_CERTIFICATE
protected static final short CS_CLIENT_KEY_EXCHANGE
protected static final short CS_CERTIFICATE_VERIFY
protected static final short CS_CLIENT_CHANGE_CIPHER_SPEC
protected static final short CS_CLIENT_FINISHED
protected static final short CS_SERVER_SESSION_TICKET
protected static final short CS_SERVER_CHANGE_CIPHER_SPEC
protected static final short CS_SERVER_FINISHED
protected org.bouncycastle.crypto.tls.RecordStream recordStream
protected java.security.SecureRandom secureRandom
protected SecurityParameters securityParameters
protected short connection_state
protected boolean secure_renegotiation
protected boolean expectSessionTicket
Constructor Detail |
---|
public TlsProtocol(java.io.InputStream input, java.io.OutputStream output, java.security.SecureRandom secureRandom)
Method Detail |
---|
protected abstract org.bouncycastle.crypto.tls.AbstractTlsContext getContext()
protected abstract TlsPeer getPeer()
protected abstract void handleChangeCipherSpecMessage() throws java.io.IOException
java.io.IOException
protected abstract void handleHandshakeMessage(short type, byte[] buf) throws java.io.IOException
java.io.IOException
protected void handleWarningMessage(short description) throws java.io.IOException
java.io.IOException
protected void completeHandshake() throws java.io.IOException
java.io.IOException
protected void processRecord(short protocol, byte[] buf, int offset, int len) throws java.io.IOException
java.io.IOException
protected int readApplicationData(byte[] buf, int offset, int len) throws java.io.IOException
buf
- The buffer where the data will be copied to.offset
- The position where the data will be placed in the buffer.len
- The maximum number of bytes to read.
java.io.IOException
- If something goes wrong during reading data.protected void safeReadRecord() throws java.io.IOException
java.io.IOException
protected void safeWriteRecord(short type, byte[] buf, int offset, int len) throws java.io.IOException
java.io.IOException
protected void writeData(byte[] buf, int offset, int len) throws java.io.IOException
buf
- The buffer with the data.offset
- The position in the buffer where the data is placed.len
- The length of the data.
java.io.IOException
- If something goes wrong during sending.public java.io.OutputStream getOutputStream()
public java.io.InputStream getInputStream()
protected void failWithError(short alertLevel, short alertDescription) throws java.io.IOException
alertLevel
- The level of the alert, an be AlertLevel.fatal or AL_warning.alertDescription
- The exact alert message.
java.io.IOException
- If alert was fatal.protected void processFinishedMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void raiseAlert(short alertLevel, short alertDescription, java.lang.String message, java.lang.Exception cause) throws java.io.IOException
java.io.IOException
protected void raiseWarning(short alertDescription, java.lang.String message) throws java.io.IOException
java.io.IOException
protected void sendCertificateMessage(Certificate certificate) throws java.io.IOException
java.io.IOException
protected void sendChangeCipherSpecMessage() throws java.io.IOException
java.io.IOException
protected void sendFinishedMessage() throws java.io.IOException
java.io.IOException
protected void sendSupplementalDataMessage(java.util.Vector supplementalData) throws java.io.IOException
java.io.IOException
protected byte[] createVerifyData(boolean isServer)
public void close() throws java.io.IOException
java.io.IOException
- If something goes wrong during closing.protected void handleClose(boolean user_canceled) throws java.io.IOException
java.io.IOException
protected void flush() throws java.io.IOException
java.io.IOException
protected static boolean arrayContains(short[] a, short n)
protected static boolean arrayContains(int[] a, int n)
protected static void assertEmpty(java.io.ByteArrayInputStream buf) throws java.io.IOException
buf
- The InputStream to check.
java.io.IOException
- If 'buf' is not empty.protected static byte[] createRandomBlock(java.security.SecureRandom random)
protected static byte[] createRenegotiationInfo(byte[] renegotiated_connection) throws java.io.IOException
java.io.IOException
protected static void establishMasterSecret(TlsContext context, TlsKeyExchange keyExchange) throws java.io.IOException
java.io.IOException
protected static java.util.Hashtable readExtensions(java.io.ByteArrayInputStream input) throws java.io.IOException
java.io.IOException
protected static java.util.Vector readSupplementalDataMessage(java.io.ByteArrayInputStream input) throws java.io.IOException
java.io.IOException
protected static void writeExtensions(java.io.OutputStream output, java.util.Hashtable extensions) throws java.io.IOException
java.io.IOException
protected static void writeSupplementalData(java.io.OutputStream output, java.util.Vector supplementalData) throws java.io.IOException
java.io.IOException
protected static int getPRFAlgorithm(int ciphersuite)
|
Bouncy Castle Cryptography Library 1.49 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |