diff -r fbd3585af53e -r 0ff0059f2ec3 src/net/java/otr4j/session/SessionKeys.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/net/java/otr4j/session/SessionKeys.java Sun Dec 05 18:43:51 2010 +0100 @@ -0,0 +1,54 @@ +package net.java.otr4j.session; + +import java.math.BigInteger; +import java.security.KeyPair; + +import javax.crypto.interfaces.DHPublicKey; + +import net.java.otr4j.OtrException; + +interface SessionKeys { + + public static final int Previous = 0; + public static final int Current = 1; + public static final byte HIGH_SEND_BYTE = (byte) 0x01; + public static final byte HIGH_RECEIVE_BYTE = (byte) 0x02; + public static final byte LOW_SEND_BYTE = (byte) 0x02; + public static final byte LOW_RECEIVE_BYTE = (byte) 0x01; + + public abstract void setLocalPair(KeyPair keyPair, int localPairKeyID); + + public abstract void setRemoteDHPublicKey(DHPublicKey pubKey, + int remoteKeyID); + + public abstract void incrementSendingCtr(); + + public abstract byte[] getSendingCtr(); + + public abstract byte[] getReceivingCtr(); + + public abstract void setReceivingCtr(byte[] ctr); + + public abstract byte[] getSendingAESKey() throws OtrException; + + public abstract byte[] getReceivingAESKey() throws OtrException; + + public abstract byte[] getSendingMACKey() throws OtrException; + + public abstract byte[] getReceivingMACKey() throws OtrException; + + public abstract void setS(BigInteger s); + + public abstract void setIsUsedReceivingMACKey(Boolean isUsedReceivingMACKey); + + public abstract Boolean getIsUsedReceivingMACKey(); + + public abstract int getLocalKeyID(); + + public abstract int getRemoteKeyID(); + + public abstract DHPublicKey getRemoteKey(); + + public abstract KeyPair getLocalPair(); + +} \ No newline at end of file