org.bouncycastle.jce.provider
Class PKIXCertPathBuilderSpi

java.lang.Object
  extended by java.security.cert.CertPathBuilderSpi
      extended by org.bouncycastle.jce.provider.PKIXCertPathBuilderSpi

public class PKIXCertPathBuilderSpi
extends java.security.cert.CertPathBuilderSpi

Implements the PKIX CertPathBuilding algorithem for BouncyCastle.
MAYBE: implement more CertPath validation whil build path to omit invalid pathes

See Also:
CertPathBuilderSpi

Constructor Summary
PKIXCertPathBuilderSpi()
           
 
Method Summary
 java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters params)
          Build and validate a CertPath using the given parameter.
private  java.security.cert.X509Certificate findIssuer(java.security.cert.X509Certificate cert, java.util.List certStores)
          Find the issuer certificate of the given certificate.
(package private)  java.security.cert.TrustAnchor findTrustAnchor(java.security.cert.X509Certificate cert, java.util.Set trustAnchors)
          Search the given Set of TrustAnchor's for one that is the issuer of the fiven X509 certificate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PKIXCertPathBuilderSpi

public PKIXCertPathBuilderSpi()
Method Detail

engineBuild

public java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters params)
                                                     throws java.security.cert.CertPathBuilderException,
                                                            java.security.InvalidAlgorithmParameterException
Build and validate a CertPath using the given parameter.

Specified by:
engineBuild in class java.security.cert.CertPathBuilderSpi
Parameters:
params - PKIXBuilderParameters object containing all information to build the CertPath
Throws:
java.security.cert.CertPathBuilderException
java.security.InvalidAlgorithmParameterException

findTrustAnchor

final java.security.cert.TrustAnchor findTrustAnchor(java.security.cert.X509Certificate cert,
                                                     java.util.Set trustAnchors)
                                              throws java.security.cert.CertPathBuilderException
Search the given Set of TrustAnchor's for one that is the issuer of the fiven X509 certificate.

Parameters:
cert - the X509 certificate
trustAnchors - a Set of TrustAnchor's
Returns:
the TrustAnchor object if found or null if not.
Throws:
java.security.cert.CertPathBuilderException

findIssuer

private java.security.cert.X509Certificate findIssuer(java.security.cert.X509Certificate cert,
                                                      java.util.List certStores)
                                               throws java.security.cert.CertPathValidatorException
Find the issuer certificate of the given certificate.

Parameters:
cert - the certificate hows issuer certificate should be found.
certStores - a list of CertStore object that will be searched
Returns:
then X509Certificate object containing the issuer certificate or null if not found
Throws:
java.security.cert.CertPathValidatorException - if a TrustAnchor was found but the signature verificytion on the given certificate has thrown an exception. This Exception can be obtainted with getCause() method.