diff -r fbd3585af53e -r 0ff0059f2ec3 src/net/java/otr4j/io/messages/SignatureX.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/net/java/otr4j/io/messages/SignatureX.java Sun Dec 05 18:43:51 2010 +0100 @@ -0,0 +1,67 @@ +/* + * otr4j, the open source java otr library. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.otr4j.io.messages; + +import java.security.PublicKey; +import java.util.Arrays; + +/** + * + * @author George Politis + */ +public class SignatureX { + // Fields. + public PublicKey longTermPublicKey; + public int dhKeyID; + public byte[] signature; + + // Ctor. + public SignatureX(PublicKey ourLongTermPublicKey, int ourKeyID, + byte[] signature) { + this.longTermPublicKey = ourLongTermPublicKey; + this.dhKeyID = ourKeyID; + this.signature = signature; + } + + // Methods. + @Override + public int hashCode() { + // TODO: Needs work. + final int prime = 31; + int result = 1; + result = prime * result + dhKeyID; + result = prime + * result + + ((longTermPublicKey == null) ? 0 : longTermPublicKey + .hashCode()); + result = prime * result + Arrays.hashCode(signature); + return result; + } + + @Override + public boolean equals(Object obj) { + // TODO: Needs work. + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SignatureX other = (SignatureX) obj; + if (dhKeyID != other.dhKeyID) + return false; + if (longTermPublicKey == null) { + if (other.longTermPublicKey != null) + return false; + } else if (!longTermPublicKey.equals(other.longTermPublicKey)) + return false; + if (!Arrays.equals(signature, other.signature)) + return false; + return true; + } + +}