FileDocCategorySizeDatePackage
CodeSigner.javaAPI DocJava SE 5 API3893Fri Aug 26 14:57:14 BST 2005java.security

CodeSigner

public final class CodeSigner extends Object implements Serializable
This class encapsulates information about a code signer. It is immutable.
since
1.5
version
1.4, 04/26/04
author
Vincent Ryan

Fields Summary
private static final long
serialVersionUID
private CertPath
signerCertPath
The signer's certificate path.
private Timestamp
timestamp
private transient int
myhash
Constructors Summary
public CodeSigner(CertPath signerCertPath, Timestamp timestamp)
Constructs a CodeSigner object.

param
signerCertPath The signer's certificate path. It must not be null.
param
timestamp A signature timestamp. If null then no timestamp was generated for the signature.
throws
NullPointerException if signerCertPath is null.


                                                                                                                                     
         
	if (signerCertPath == null) {
	    throw new NullPointerException();
	}
	this.signerCertPath = signerCertPath;
	this.timestamp = timestamp;
    
Methods Summary
public booleanequals(java.lang.Object obj)
Tests for equality between the specified object and this code signer. Two code signers are considered equal if their signer certificate paths are equal and if their timestamps are equal, if present in both.

param
obj the object to test for equality with this object.
return
true if the objects are considered equal, false otherwise.

        if (obj == null || (!(obj instanceof CodeSigner))) {
            return false;
        }
        CodeSigner that = (CodeSigner)obj;

        if (this == that) {
            return true;
        }
	Timestamp thatTimestamp = that.getTimestamp();
	if (timestamp == null) {
	    if (thatTimestamp != null) {
		return false;
	    }
	} else {
	    if (thatTimestamp == null ||
	        (! timestamp.equals(thatTimestamp))) {
		return false;
	    }
	}
        return signerCertPath.equals(that.getSignerCertPath());
    
public java.security.cert.CertPathgetSignerCertPath()
Returns the signer's certificate path.

return
A certificate path.

	return signerCertPath;
    
public java.security.TimestampgetTimestamp()
Returns the signature timestamp.

return
The timestamp or null if none is present.

	return timestamp;
    
public inthashCode()
Returns the hash code value for this code signer. The hash code is generated using the signer's certificate path and the timestamp, if present.

return
a hash code value for this code signer.

        if (myhash == -1) {
	    if (timestamp == null) {
		myhash = signerCertPath.hashCode();
	    } else {
		myhash = signerCertPath.hashCode() + timestamp.hashCode();
	    }
        }
        return myhash;
    
public java.lang.StringtoString()
Returns a string describing this code signer.

return
A string comprising the signer's certificate and a timestamp, if present.

        StringBuffer sb = new StringBuffer();
        sb.append("(");
        sb.append("Signer: " + signerCertPath.getCertificates().get(0));
	if (timestamp != null) {
            sb.append("timestamp: " + timestamp);
	}
        sb.append(")");
        return sb.toString();