package java.security.cert;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.Date;
public abstract class X509CRLEntry implements X509Extension
{
public boolean equals(Object other)
{
if ( this == other )
return true;
if ( !(other instanceof X509CRLEntry) )
return false;
try
{
byte[] enc1 = getEncoded();
byte[] enc2 = ((X509CRLEntry)other).getEncoded();
return MessageDigest.isEqual(enc1, enc2);
}
catch (CRLException e)
{
return false;
}
}
public int hashCode()
{
int hashcode = 0;
try
{
byte[] encoded = getEncoded();
for (int i = 1; i < encoded.length; i++)
{
hashcode += encoded[i] * i;
}
}
catch (CRLException ce)
{
return(hashcode);
}
return(hashcode);
}
public abstract byte[] getEncoded() throws CRLException;
public abstract Date getRevocationDate();
public abstract BigInteger getSerialNumber();
public abstract boolean hasExtensions();
public abstract String toString();
}