org.logi.crypto.io
Class CipherStreamClient
java.lang.Object
|
+--org.logi.crypto.Crypto
|
+--org.logi.crypto.io.CipherStream
|
+--org.logi.crypto.io.CipherStreamClient
- public class CipherStreamClient
- extends CipherStream
This class can be used to apply an interactive key exchange protocol
to a pair of streams and then encrypt all data going through them with
the session key exchanged.
It can also execute interactive protocols on the streams once they are
initialized.
This class expects to talk to an equivalent server class.
- Author:
- Logi Ragnarsson
(logir@logi.org)
- See Also:
CipherStreamServer
| Fields inherited from class org.logi.crypto.Crypto |
BIT,
cdsPath,
EMPTY_ARRAY,
FOUR,
keySource,
NIBBLE,
ONE,
primeCertainty,
random,
TWO,
ZERO |
| Methods inherited from class org.logi.crypto.Crypto |
binString,
binString,
equal,
equalRelaxed,
equalSub,
fromHexNibble,
fromHexString,
fromString,
fromString,
hexString,
hexString,
hexString,
hexString,
hexString,
initRandom,
initRandom,
makeClass,
makeInt,
makeLong,
makeSessionKey,
pastSpace,
pickBits,
pickBits,
readInt,
writeBytes,
writeBytes,
writeInt |
| Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
CipherStreamClient
public CipherStreamClient(java.io.InputStream in,
java.io.OutputStream out,
InterKeyExClient kex,
EncryptMode encrypt,
DecryptMode decrypt)
throws CryptoProtocolException,
java.io.IOException
- Create a new CipherStreamClient object and ecxhange keys.
Create a new object which uses kex to exchange keys with
a remote server and then encrypt to encrypt the data to
out and decrypt to decrypt data from
in and out.
if kex==null then the key-exchange step is skipped and
the encrypt and decrypt objects must have
been initialized with a key beforethis call.
- Throws:
- CryptoProtocolException - if there is a problem exchanging keys.
- java.io.IOException - if there is a problem with the underlying streams.
execute
public void execute(InterProtocolClient prot)
throws java.io.IOException,
CryptoProtocolException
- Executes an interactive protocol. If the encrypt/decrypt mode objects
have been initialized with a session key, such as by executing a
key-exchange protocol in the constructor, then the protocol will be
executed through the encrypted link.
- Throws:
- CryptoProtocolException - if there is a problem with the protocol keys.
- java.io.IOException - if there is a problem with the underlying streams.
Copyright 1997-2000 Logi Ragnarsson