diff -r fbd3585af53e -r 0ff0059f2ec3 src/net/java/otr4j/session/AuthContext.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/net/java/otr4j/session/AuthContext.java Sun Dec 05 18:43:51 2010 +0100 @@ -0,0 +1,55 @@ +/* + * otr4j, the open source java otr library. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.otr4j.session; + +import java.math.BigInteger; +import java.security.KeyPair; +import java.security.PublicKey; + +import javax.crypto.interfaces.DHPublicKey; + +import net.java.otr4j.OtrException; +import net.java.otr4j.io.messages.AbstractMessage; + +/** + * + * @author George Politis + */ +interface AuthContext { + + public static final int NONE = 0; + public static final int AWAITING_DHKEY = 1; + public static final int AWAITING_REVEALSIG = 2; + public static final int AWAITING_SIG = 3; + public static final int V1_SETUP = 4; + public static final byte C_START = (byte) 0x01; + public static final byte M1_START = (byte) 0x02; + public static final byte M2_START = (byte) 0x03; + public static final byte M1p_START = (byte) 0x04; + public static final byte M2p_START = (byte) 0x05; + + public abstract void reset(); + + public abstract boolean getIsSecure(); + + public abstract DHPublicKey getRemoteDHPublicKey(); + + public abstract KeyPair getLocalDHKeyPair() throws OtrException; + + public abstract BigInteger getS() throws OtrException; + + public abstract void handleReceivingMessage(AbstractMessage m) + throws OtrException; + + public abstract void startV2Auth() throws OtrException; + + public abstract void respondV2Auth() throws OtrException; + + public abstract PublicKey getRemoteLongTermPublicKey(); + + public abstract KeyPair getLocalLongTermKeyPair(); +} \ No newline at end of file