CertPathBuilder | java.security.cert | CertPathBuilder attempts to build a certification path from a specified certificate to a trust anchor. Unlike the CertificateFactory.generateCertPath( ) method, which might be used by a server to parse a certificate chain presented to it by a client, this class is used to create a new certificate chain, and might be used by a client that needs to send a certificate chain to a server. The CertPathBuilder API is provider-based, and is algorithm independent, although the use of any algorithms other than the "PKIX" standards (which work with X.509 certificate chains) require appropriate external implementations of CertPathParameters and CertPathBuilderResult . Obtain a CertPathBuilder object by calling one of the static getInstance( ) methods , specifying the desired algorithm and, optionally , the desired provider. The "PKIX" algorithm is the only one supported by the default "SUN" provider, and is the only one that has the required algorithm-specific classes defined by this package. Once you have a CertPathBuilder , you create a CertPath object by passing a CertPathParameters object to the build( ) method. CertPathParameters is a marker interfaces that defines no method of its own, so you must use an algorithm-specific implementation such as PKIXBuilderParameters to supply the information required to build a CertPath . The build( ) method returns a CertPathBuilderResult object. Use the getCertPath( ) method of this returned object to obtain the CertPath that was built. The algorithm-specific implementation PKIXCertPathBuilderResult has additional methods that return further algorithm-specific results. public class CertPathBuilder { // Protected Constructors protected CertPathBuilder (CertPathBuilderSpi builderSpi , java.security.Provider provider , String algorithm ); // Public Class Methods public static final String getDefaultType ( ); public static CertPathBuilder getInstance (String algorithm ) throws java.security.NoSuchAlgorithmException; public static CertPathBuilder getInstance (String algorithm , String provider ) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; public static CertPathBuilder getInstance (String algorithm , java.security.Provider provider ) throws java.security.NoSuchAlgorithmException; // Public Instance Methods public final CertPathBuilderResult build (CertPathParameters params ) throws CertPathBuilderException, java.security.InvalidAlgorithmParameterException; public final String getAlgorithm ( ); public final java.security.Provider getProvider ( ); } |