package org.bouncycastle.x509;
import java.io.IOException;
import java.math.BigInteger;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.PublicKey;
import java.security.SignatureException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateExpiredException;
import java.security.cert.CertificateNotYetValidException;
import java.security.cert.X509Extension;
import java.util.Date;
Interface for an X.509 Attribute Certificate.
/**
* Interface for an X.509 Attribute Certificate.
*/
public interface X509AttributeCertificate
extends X509Extension
{
Return the version number for the certificate.
Returns: the version number.
/**
* Return the version number for the certificate.
*
* @return the version number.
*/
public int getVersion();
Return the serial number for the certificate.
Returns: the serial number.
/**
* Return the serial number for the certificate.
*
* @return the serial number.
*/
public BigInteger getSerialNumber();
Return the date before which the certificate is not valid.
Returns: the "not valid before" date.
/**
* Return the date before which the certificate is not valid.
*
* @return the "not valid before" date.
*/
public Date getNotBefore();
Return the date after which the certificate is not valid.
Returns: the "not valid afer" date.
/**
* Return the date after which the certificate is not valid.
*
* @return the "not valid afer" date.
*/
public Date getNotAfter();
Return the holder of the certificate.
Returns: the holder.
/**
* Return the holder of the certificate.
*
* @return the holder.
*/
public AttributeCertificateHolder getHolder();
Return the issuer details for the certificate.
Returns: the issuer details.
/**
* Return the issuer details for the certificate.
*
* @return the issuer details.
*/
public AttributeCertificateIssuer getIssuer();
Return the attributes contained in the attribute block in the certificate.
Returns: an array of attributes.
/**
* Return the attributes contained in the attribute block in the certificate.
*
* @return an array of attributes.
*/
public X509Attribute[] getAttributes();
Return the attributes with the same type as the passed in oid.
Params: - oid – the object identifier we wish to match.
Returns: an array of matched attributes, null if there is no match.
/**
* Return the attributes with the same type as the passed in oid.
*
* @param oid the object identifier we wish to match.
* @return an array of matched attributes, null if there is no match.
*/
public X509Attribute[] getAttributes(String oid);
public boolean[] getIssuerUniqueID();
public void checkValidity()
throws CertificateExpiredException, CertificateNotYetValidException;
public void checkValidity(Date date)
throws CertificateExpiredException, CertificateNotYetValidException;
public byte[] getSignature();
public void verify(PublicKey key, String provider)
throws CertificateException, NoSuchAlgorithmException,
InvalidKeyException, NoSuchProviderException, SignatureException;
Return an ASN.1 encoded byte array representing the attribute certificate.
Throws: - IOException – if the certificate cannot be encoded.
Returns: an ASN.1 encoded byte array.
/**
* Return an ASN.1 encoded byte array representing the attribute certificate.
*
* @return an ASN.1 encoded byte array.
* @throws IOException if the certificate cannot be encoded.
*/
public byte[] getEncoded()
throws IOException;
}