• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.bouncycastle.x509;
2 
3 import java.security.cert.CertPath;
4 import java.security.cert.CertPathValidatorException;
5 import java.util.Collection;
6 import java.util.Set;
7 
8 public abstract class PKIXAttrCertChecker
9     implements Cloneable
10 {
11 
12     /**
13      * Returns an immutable <code>Set</code> of X.509 attribute certificate
14      * extensions that this <code>PKIXAttrCertChecker</code> supports or
15      * <code>null</code> if no extensions are supported.
16      * <p>
17      * Each element of the set is a <code>String</code> representing the
18      * Object Identifier (OID) of the X.509 extension that is supported.
19      * <p>
20      * All X.509 attribute certificate extensions that a
21      * <code>PKIXAttrCertChecker</code> might possibly be able to process
22      * should be included in the set.
23      *
24      * @return an immutable <code>Set</code> of X.509 extension OIDs (in
25      *         <code>String</code> format) supported by this
26      *         <code>PKIXAttrCertChecker</code>, or <code>null</code> if no
27      *         extensions are supported
28      */
getSupportedExtensions()29     public abstract Set getSupportedExtensions();
30 
31     /**
32      * Performs checks on the specified attribute certificate. Every handled
33      * extension is rmeoved from the <code>unresolvedCritExts</code>
34      * collection.
35      *
36      * @param attrCert The attribute certificate to be checked.
37      * @param certPath The certificate path which belongs to the attribute
38      *            certificate issuer public key certificate.
39      * @param holderCertPath The certificate path which belongs to the holder
40      *            certificate.
41      * @param unresolvedCritExts a <code>Collection</code> of OID strings
42      *            representing the current set of unresolved critical extensions
43      * @throws CertPathValidatorException if the specified attribute certificate
44      *             does not pass the check.
45      */
check(X509AttributeCertificate attrCert, CertPath certPath, CertPath holderCertPath, Collection unresolvedCritExts)46     public abstract void check(X509AttributeCertificate attrCert, CertPath certPath,
47                                  CertPath holderCertPath, Collection unresolvedCritExts)
48         throws CertPathValidatorException;
49 
50     /**
51      * Returns a clone of this object.
52      *
53      * @return a copy of this <code>PKIXAttrCertChecker</code>
54      */
clone()55     public abstract Object clone();
56 }
57