anon.client
Class KeyExchangeManager

java.lang.Object
  extended by anon.client.KeyExchangeManager

public class KeyExchangeManager
extends java.lang.Object

Author:
Stefan Lieske

Field Summary
private  boolean m_bEnhancedChannelEncryption
           
private  MixCascade m_cascade
           
private  boolean m_chainProtocolWithFlowControl
           
private  ControlChannelCipher m_controlchannelCipher
           
private  int m_downstreamSendMe
           
private  SymCipher m_firstMixSymmetricCipher
           
private  FixedRatioChannelsDescription m_fixedRatioChannelsDescription
           
private  java.lang.Object m_internalSynchronization
           
private  int m_mixCascadeCertificateLock
          Stores the lock on the certificate used by the mixcascade to sign all cascade related messages, like the MixCascade or MixCascadeStatus structures.
private  MixParameters[] m_mixParameters
           
private  SymCipher m_multiplexerInputStreamCipher
           
private  SymCipher m_multiplexerOutputStreamCipher
           
private  boolean m_paymentRequired
           
private  boolean m_protocolWithReplay
           
private  boolean m_protocolWithTimestamp
           
private  TermsAndConditionsRequest m_tnCRequest
           
private  int m_upstreamSendMe
           
private  boolean tcOverallAccept
           
private  TermsAndConditionsReadException tcrException
           
 
Constructor Summary
KeyExchangeManager(java.io.InputStream a_inputStream, java.io.OutputStream a_outputStream, MixCascade a_cascade, ITrustModel a_trustModel)
           
 
Method Summary
 MixCascade getConnectedCascade()
           
 ControlChannelCipher getControlChannelCipher()
           
 int getDownstreamSendMe()
           
 SymCipher getFirstMixSymmetricCipher()
           
 FixedRatioChannelsDescription getFixedRatioChannelsDescription()
           
 MixParameters[] getMixParameters()
           
 SymCipher getMultiplexerInputStreamCipher()
           
 SymCipher getMultiplexerOutputStreamCipher()
           
 int getUpstreamSendMe()
           
 boolean isChainProtocolWithFlowControl()
           
 boolean isPaymentRequired()
           
 boolean isProtocolWithEnhancedChannelEncryption()
           
 boolean isProtocolWithTimestamp()
           
 void removeCertificateLock()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_mixCascadeCertificateLock

private int m_mixCascadeCertificateLock
Stores the lock on the certificate used by the mixcascade to sign all cascade related messages, like the MixCascade or MixCascadeStatus structures. The certificate will be stored within the signature verification certificate store until the lock is released (done when the connection to the mixcascade is closed).


m_internalSynchronization

private java.lang.Object m_internalSynchronization

m_protocolWithTimestamp

private boolean m_protocolWithTimestamp

m_protocolWithReplay

private boolean m_protocolWithReplay

m_paymentRequired

private boolean m_paymentRequired

m_bEnhancedChannelEncryption

private boolean m_bEnhancedChannelEncryption

m_firstMixSymmetricCipher

private SymCipher m_firstMixSymmetricCipher

m_controlchannelCipher

private ControlChannelCipher m_controlchannelCipher

m_chainProtocolWithFlowControl

private boolean m_chainProtocolWithFlowControl

m_upstreamSendMe

private int m_upstreamSendMe

m_downstreamSendMe

private int m_downstreamSendMe

m_fixedRatioChannelsDescription

private FixedRatioChannelsDescription m_fixedRatioChannelsDescription

m_mixParameters

private MixParameters[] m_mixParameters

m_multiplexerInputStreamCipher

private SymCipher m_multiplexerInputStreamCipher

m_multiplexerOutputStreamCipher

private SymCipher m_multiplexerOutputStreamCipher

m_cascade

private MixCascade m_cascade

m_tnCRequest

private TermsAndConditionsRequest m_tnCRequest

tcrException

private TermsAndConditionsReadException tcrException

tcOverallAccept

private boolean tcOverallAccept
Constructor Detail

KeyExchangeManager

public KeyExchangeManager(java.io.InputStream a_inputStream,
                          java.io.OutputStream a_outputStream,
                          MixCascade a_cascade,
                          ITrustModel a_trustModel)
                   throws XMLParseException,
                          java.security.SignatureException,
                          java.io.IOException,
                          UnknownProtocolVersionException,
                          TrustException,
                          TermsAndConditionsReadException,
                          IllegalTCRequestPostConditionException
Parameters:
a_inputStream - InputStream
a_outputStream - OutputStream
a_cascade - the cascade to connect to; this is only used to update database entries
Throws:
XMLParseException
java.security.SignatureException
java.io.IOException
UnknownProtocolVersionException
TermsAndConditionsReadException
IllegalTCRequestPostConditionException
TrustException
Method Detail

isProtocolWithTimestamp

public boolean isProtocolWithTimestamp()

isPaymentRequired

public boolean isPaymentRequired()

isChainProtocolWithFlowControl

public boolean isChainProtocolWithFlowControl()

getUpstreamSendMe

public int getUpstreamSendMe()

getDownstreamSendMe

public int getDownstreamSendMe()

getFixedRatioChannelsDescription

public FixedRatioChannelsDescription getFixedRatioChannelsDescription()

getFirstMixSymmetricCipher

public SymCipher getFirstMixSymmetricCipher()

getMultiplexerInputStreamCipher

public SymCipher getMultiplexerInputStreamCipher()

getMultiplexerOutputStreamCipher

public SymCipher getMultiplexerOutputStreamCipher()

getMixParameters

public MixParameters[] getMixParameters()

getConnectedCascade

public MixCascade getConnectedCascade()

removeCertificateLock

public void removeCertificateLock()

isProtocolWithEnhancedChannelEncryption

public boolean isProtocolWithEnhancedChannelEncryption()

getControlChannelCipher

public ControlChannelCipher getControlChannelCipher()