public class MultiOCSPLocalRevocationChecker extends java.lang.Object implements RevocationChecker
The mapping between the CA Name and OCSPConfiguration is used to efficiently choose which OCSP responder should be used to check the revocation status of the certificate in question. Any number of responders may be mapped to a given CA Name. If more than one OCSPConfiguration is mapped to a CA Name, then the OCSP revocation will be checked in the order the OCSPConfiguration was added.
A MultiOCSPLocalRevocationChecker is created by looping through the list of
provisioned CA Name's for each supplied OCSPConfiguration. An
OCSPRevocationChecker is created for each OCSPConfiguration and each
CA Name is used as the key which maps to the OCSPRevocationChecker. This represents
a single CA which can use a number of different responders to check for
revocation.
If a supplied OCSPConfiguration does not contain any provisioned CA Names, then an OCSPRevocationChecker will be created which can be used to check revocation for all OCSP requests. If there are multiple OCSPConfigurations which do not contain any provisioned CA Names, then each one can be used to check revocation for all OCSP requests. These configurations will be checked in the order they were added.
When searching for revocation of a certificate, the IssuerDN of the certificate in question is used to find a responder (or list of responders) which can be used to check revocation. Therefore, this table of Issuer Names mapped to OCSPRevocationCheckers provides an efficient lookup mechanism.
This object can be thought of as a reverse-mapping of the OCSPRevocationChecker
which is a mapping of an OCSPConfiguration to a list of CA Names.
LOG| Constructor and Description |
|---|
MultiOCSPLocalRevocationChecker(OCSPConfiguration[] ocspconfigs,
KeyAndCertContainer keyAndCertSource,
ValidationInfo validationInfo)
Creates a MultiOCSPLocalRevocationChecker object.
|
| Modifier and Type | Method and Description |
|---|---|
void |
check(X509Certificate cert)
This method checks revocation of the given certificate.
|
void |
check(X509Certificate[] chain)
This method checks revocation of the given certificate chain.
|
void |
check(X509Certificate cert,
X509Certificate[] chain)
This method checks revocation of the given certificate.
|
void |
check(X509Certificate cert,
X509Certificate[] chain,
int position)
This method checks revocation of the given certificate.
|
OCSPRevocationChecker[] |
getCAMappings(Name cadn)
Get a list of OCSPConfigurations which are mapped by the specified Name.
|
public MultiOCSPLocalRevocationChecker(OCSPConfiguration[] ocspconfigs, KeyAndCertContainer keyAndCertSource, ValidationInfo validationInfo)
OCSPConfiguration for more efficient OCSP revocation checking.
A MultiOCSPLocalRevocationChecker is created by looping through the list of provisioned CA Name's for
each supplied OCSPConfiguration. An OCSPRevocationChecker is created for each OCSPConfiguration and
each CA Name is used as the key which maps to the OCSPRevocationChecker. There
can be many OCSPRevocationCheckers mapped to one CA Name. This represents a single CA which can use a number of different
responders to check for revocation.
If a supplied OCSPConfiguration does not contain any provision CA Names, then an OCSPRevocationChecker will be created which can be used to check revocation for all OCSP requests.
This object therefore represents a reverse-mapping of the OCSPRevocationChecker which is a mapping of an OCSPConfiguration to
a list of CA Names.
When searching for revocation of a certificate, the IssuerDN of the certificate in question is used to find a responder (or list of responders) which can be used to check revocation. Therefore, this table of Issuer Names mapped to OCSPRevocationCheckers provides an efficient lookup mechanism.
ocspconfigs - keyAndCertSource - validationInfo - public void check(X509Certificate[] chain) throws CertificationException
1. Starting at the end of the chain, revocation of each certificate in the chain is checked.
2. For each certificate being checked for revocation, this object
finds the list of OCSPRevocationChecker objects which have been
configured by doing a table lookup based on the IssuerDN of the
certificate being checked.
3. Each OCSPRevocationChecker found in 2 will be used to check for revocation information until one of the following conditions is met:
5. If there were no default OCSPRevocationCheckers that can be used to check revocation for all certificates, or revocation could not be found using the default OCSPRevocationChecker list, then a CertificationException is thrown.
check in interface RevocationCheckerchain - the chain of certificates to be checked for revocationRevocationException - if a certificate in the chain is revokedCertificationException - if revocation status could not be foundpublic void check(X509Certificate cert, X509Certificate[] chain) throws CertificationException
1. This object finds the list of OCSPRevocationChecker
objects which have been configured by doing a table lookup based
on the IssuerDN of the certificate being checked.
2. Each OCSPRevocationChecker found will be used to check revocation information until one of the following conditions is met:
4. If there were no default OCSPRevocationCheckers that can be used to check revocation for all certificates, or revocation could not be found using the default OCSPRevocationChecker list, then a CertificationException is thrown.
check in interface RevocationCheckercert - The certificate to be checked for revocationchain - the full chain of certificates which includes certRevocationException - if a certificate in the chain is revokedCertificationException - if revocation status could not be foundpublic void check(X509Certificate cert, X509Certificate[] chain, int position) throws CertificationException
1. This object finds the list of OCSPRevocationChecker
objects which have been configured by doing a table lookup based
on the IssuerDN of the certificate being checked.
2. Each OCSPRevocationChecker found will be used to check revocation information until one of the following conditions is met:
4. If there were no default OCSPRevocationCheckers that can be used to check revocation for all certificates, or revocation could not be found using the default OCSPRevocationChecker list, then a CertificationException is thrown.
check in interface RevocationCheckercert - The certificate to be checked for revocationchain - the full chain of certificates which includes certposition - in the chain which cert exists.RevocationException - if a certificate in the chain is revokedCertificationException - if revocation status could not be foundpublic void check(X509Certificate cert) throws CertificationException
1. This object finds the list of OCSPRevocationChecker
objects which have been configured by doing a table lookup based
on the IssuerDN of the certificate being checked.
2. Each OCSPRevocationChecker found will be used to check revocation information until one of the following conditions is met:
4. If there were no default OCSPRevocationCheckers that can be used to check revocation for all certificates, or revocation could not be found using the default OCSPRevocationChecker list, then a CertificationException is thrown.
check in interface RevocationCheckercert - The certificate to be checked for revocationRevocationException - if a certificate in the chain is revokedCertificationException - if revocation status could not be foundpublic OCSPRevocationChecker[] getCAMappings(Name cadn)
cadn - the Name which is mapped to the list of OCSPConfigurations