Class TrustedCertPathFinder
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static X509Certificate
checkCertificate
(List<X509Certificate> trustedCertPath, X509Certificate x509Certificate, Certificate issuerCertificate) static CertPath
findTrustedCertPath
(KeyStore keyStore, CertPath certPath) Method that validates the provided cert path to find a trusted certificate in the certificate store.private static CertPath
isTrustedCert
(KeyStore keyStore, X509Certificate x509Certificate, List<X509Certificate> trustedCertPath)
-
Field Details
-
logger
private static org.apache.commons.logging.Log logger
-
-
Constructor Details
-
TrustedCertPathFinder
private TrustedCertPathFinder()
-
-
Method Details
-
isTrustedCert
private static CertPath isTrustedCert(KeyStore keyStore, X509Certificate x509Certificate, List<X509Certificate> trustedCertPath) throws CertPathValidatorException - Throws:
CertPathValidatorException
-
findTrustedCertPath
public static CertPath findTrustedCertPath(KeyStore keyStore, CertPath certPath) throws CertPathValidatorException Method that validates the provided cert path to find a trusted certificate in the certificate store.For each certificate i in certPath, it is expected that the i+1 certificate is the issuer of the certificate path. See CertPath.
For each certificate i in certpath, validate signature of certificate i get issuer of certificate i get certificate i+i ensure that the certificate i+1 is issuer of certificate i If not, throw an exception for illegal argument validate signature of i+1 Throw exception if it does not validate check if i+1 is a trusted certificate in the trust store. If so return certpath until i+1 If not, continue; If all certificates in the certpath have been checked and none exisits in trust store, check if trust store has certificate of issuer of last certificate in CertPath. If so, return certPath + trusted certificate from trust store If not, throw an exception for lack of valid trust root.
- Parameters:
keyStore
- The key store containing CA trust root certificatescertPath
- The certpath from which to extract a valid cert path to a trusted certificate.- Returns:
- The valid CertPath.
- Throws:
CertPathValidatorException
- If the CertPath is invalid.
-
checkCertificate
private static X509Certificate checkCertificate(List<X509Certificate> trustedCertPath, X509Certificate x509Certificate, Certificate issuerCertificate) throws CertPathValidatorException - Throws:
CertPathValidatorException
-