Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

java.security.cert
Class Certificate  view Certificate download Certificate.java

java.lang.Object
  extended byjava.security.cert.Certificate
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
X509Certificate

public abstract class Certificate
extends java.lang.Object
implements java.io.Serializable

The Certificate class is an abstract class used to manage identity certificates. An identity certificate is a combination of a principal and a public key which is certified by another principal. This is the puprose of Certificate Authorities (CA).

This class is used to manage different types of certificates but have important common puposes. Different types of certificates like X.509 and OpenPGP share general certificate functions (like encoding and verifying) and information like public keys.

X.509, OpenPGP, and SDSI can be implemented by subclassing this class even though they differ in storage methods and information stored.

Since:
JDK 1.2

Nested Class Summary
protected static class Certificate.CertificateRep
          Certificate.CertificateRep is an inner class used to provide an alternate storage mechanism for serialized Certificates.
 
Field Summary
private static long serialVersionUID
           
private  java.lang.String type
           
 
Constructor Summary
protected Certificate(java.lang.String type)
          Constructs a new certificate of the specified type.
 
Method Summary
 boolean equals(java.lang.Object other)
          Compares this Certificate to other.
abstract  byte[] getEncoded()
          Gets the DER ASN.1 encoded format for this Certificate.
abstract  java.security.PublicKey getPublicKey()
          Returns the public key stored in the Certificate.
 java.lang.String getType()
          Returns the Certificate type.
 int hashCode()
          Returns a hash code for this Certificate in its encoded form.
abstract  java.lang.String toString()
          Returns a string representing the Certificate.
abstract  void verify(java.security.PublicKey key)
          Verifies that this Certificate was properly signed with the PublicKey that corresponds to its private key.
abstract  void verify(java.security.PublicKey key, java.lang.String sigProvider)
          Verifies that this Certificate was properly signed with the PublicKey that corresponds to its private key and uses the signature engine provided by the provider.
protected  java.lang.Object writeReplace()
          Returns a replacement for this certificate to be serialized.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

type

private java.lang.String type
Constructor Detail

Certificate

protected Certificate(java.lang.String type)
Constructs a new certificate of the specified type. An example is "X.509".

Method Detail

getType

public final java.lang.String getType()
Returns the Certificate type.


equals

public boolean equals(java.lang.Object other)
Compares this Certificate to other. It checks if the object if instanceOf Certificate and then checks if the encoded form matches.


hashCode

public int hashCode()
Returns a hash code for this Certificate in its encoded form.


getEncoded

public abstract byte[] getEncoded()
                           throws CertificateEncodingException
Gets the DER ASN.1 encoded format for this Certificate. It assumes each certificate has only one encoding format. Ex: X.509 is encoded as ASN.1 DER


verify

public abstract void verify(java.security.PublicKey key)
                     throws CertificateException,
                            java.security.NoSuchAlgorithmException,
                            java.security.InvalidKeyException,
                            java.security.NoSuchProviderException,
                            java.security.SignatureException
Verifies that this Certificate was properly signed with the PublicKey that corresponds to its private key.


verify

public abstract void verify(java.security.PublicKey key,
                            java.lang.String sigProvider)
                     throws CertificateException,
                            java.security.NoSuchAlgorithmException,
                            java.security.InvalidKeyException,
                            java.security.NoSuchProviderException,
                            java.security.SignatureException
Verifies that this Certificate was properly signed with the PublicKey that corresponds to its private key and uses the signature engine provided by the provider.


toString

public abstract java.lang.String toString()
Returns a string representing the Certificate.


getPublicKey

public abstract java.security.PublicKey getPublicKey()
Returns the public key stored in the Certificate.


writeReplace

protected java.lang.Object writeReplace()
                                 throws java.io.ObjectStreamException
Returns a replacement for this certificate to be serialized. This method returns the equivalent to the following for this class:
new CertificateRep(getType(), getEncoded());

This thusly replaces the certificate with its name and its encoded form, which can be deserialized later with the CertificateFactory implementation for this certificate's type.