This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.security.cert
class PKIXBuilderParameters

java.lang.Object extended by java.security.cert.PKIXParameters extended by java.security.cert.PKIXBuilderParameters
All Implemented Interfaces:
CertPathParameters

Most common ways to construct:

Set anchors = …;
X509CertSelector selector = …;

PKIXBuilderParameters params = new PKIXBuilderParameters(anchors, selector);

Based on 20 examples

 

KeyStore ks = …;
X509CertSelector targetConstraints = …;

PKIXBuilderParameters params = new PKIXBuilderParameters(ks, targetConstraints);

Based on 19 examples


public class PKIXBuilderParameters
extends PKIXParameters

Parameters used as input for the PKIX CertPathBuilder algorithm.

A PKIX CertPathBuilder uses these parameters to {@link CertPathBuilder#build build} a CertPath which has been validated according to the PKIX certification path validation algorithm.

To instantiate a PKIXBuilderParameters object, an application must specify one or more most-trusted CAs as defined by the PKIX certification path validation algorithm. The most-trusted CA can be specified using one of two constructors. An application can call {@link #PKIXBuilderParameters(Set, CertSelector) PKIXBuilderParameters(Set, CertSelector)}, specifying a Set of TrustAnchor objects, each of which identifies a most-trusted CA. Alternatively, an application can call {@link #PKIXBuilderParameters(KeyStore, CertSelector) PKIXBuilderParameters(KeyStore, CertSelector)}, specifying a KeyStore instance containing trusted certificate entries, each of which will be considered as a most-trusted CA.

In addition, an application must specify constraints on the target certificate that the CertPathBuilder will attempt to build a path to. The constraints are specified as a CertSelector object. These constraints should provide the CertPathBuilder with enough search criteria to find the target certificate. Minimal criteria for an X509Certificate usually include the subject name and/or one or more subject alternative names. If enough criteria is not specified, the CertPathBuilder may throw a CertPathBuilderException.

Concurrent Access

Unless otherwise specified, the methods defined in this class are not thread-safe. Multiple threads that need to access a single object concurrently should synchronize amongst themselves and provide the necessary locking. Multiple threads each manipulating separate objects need not synchronize.


Constructor Summary
PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints)

          Creates an instance of PKIXBuilderParameters that populates the set of most-trusted CAs from the trusted certificate entries contained in the specified KeyStore.
PKIXBuilderParameters(Set trustAnchors, CertSelector targetConstraints)

          Creates an instance of PKIXBuilderParameters with the specified Set of most-trusted CAs.
 
Method Summary
 int

          Returns the value of the maximum number of intermediate non-self-issued certificates that may exist in a certification path.
 void
setMaxPathLength(int maxPathLength)

          Sets the value of the maximum number of non-self-issued intermediate certificates that may exist in a certification path.
 String

          Returns a formatted string describing the parameters.
 
Methods inherited from class java.security.cert.PKIXParameters
addCertPathChecker, addCertStore, clone, getCertPathCheckers, getCertStores, getDate, getInitialPolicies, getPolicyQualifiersRejected, getSigProvider, getTargetCertConstraints, getTrustAnchors, isAnyPolicyInhibited, isExplicitPolicyRequired, isPolicyMappingInhibited, isRevocationEnabled, setAnyPolicyInhibited, setCertPathCheckers, setCertStores, setDate, setExplicitPolicyRequired, setInitialPolicies, setPolicyMappingInhibited, setPolicyQualifiersRejected, setRevocationEnabled, setSigProvider, setTargetCertConstraints, setTrustAnchors, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PKIXBuilderParameters

public PKIXBuilderParameters(KeyStore keystore,
                             CertSelector targetConstraints)
                      throws KeyStoreException,
                             InvalidAlgorithmParameterException
Creates an instance of PKIXBuilderParameters that populates the set of most-trusted CAs from the trusted certificate entries contained in the specified KeyStore. Only keystore entries that contain trusted X509Certificates are considered; all other certificate types are ignored.

Parameters:
keystore - a KeyStore from which the set of most-trusted CAs will be populated
targetConstraints - a CertSelector specifying the constraints on the target certificate
Throws:
KeyStoreException - if keystore has not been initialized
InvalidAlgorithmParameterException - if keystore does not contain at least one trusted certificate entry

PKIXBuilderParameters

public PKIXBuilderParameters(Set trustAnchors,
                             CertSelector targetConstraints)
                      throws InvalidAlgorithmParameterException
Creates an instance of PKIXBuilderParameters with the specified Set of most-trusted CAs. Each element of the set is a {@link TrustAnchor TrustAnchor}.

Note that the Set is copied to protect against subsequent modifications.

Parameters:
trustAnchors - a Set of TrustAnchors
targetConstraints - a CertSelector specifying the constraints on the target certificate
Throws:
InvalidAlgorithmParameterException - if trustAnchors is empty (trustAnchors.isEmpty() == true)
Method Detail

getMaxPathLength

public int getMaxPathLength()
Returns the value of the maximum number of intermediate non-self-issued certificates that may exist in a certification path. See the {@link #setMaxPathLength} method for more details.

Returns:
the maximum number of non-self-issued intermediate certificates that may exist in a certification path, or -1 if there is no limit

setMaxPathLength

public void setMaxPathLength(int maxPathLength)
Sets the value of the maximum number of non-self-issued intermediate certificates that may exist in a certification path. A certificate is self-issued if the DNs that appear in the subject and issuer fields are identical and are not empty. Note that the last certificate in a certification path is not an intermediate certificate, and is not included in this limit. Usually the last certificate is an end entity certificate, but it can be a CA certificate. A PKIX CertPathBuilder instance must not build paths longer than the length specified.

A value of 0 implies that the path can only contain a single certificate. A value of -1 implies that the path length is unconstrained (i.e. there is no maximum). The default maximum path length, if not specified, is 5. Setting a value less than -1 will cause an exception to be thrown.

If any of the CA certificates contain the BasicConstraintsExtension, the value of the pathLenConstraint field of the extension overrides the maximum path length parameter whenever the result is a certification path of smaller length.

Parameters:
maxPathLength - the maximum number of non-self-issued intermediate certificates that may exist in a certification path

toString

public String toString()
Returns a formatted string describing the parameters.

Overrides:
toString in class PKIXParameters
Returns:
a formatted string describing the parameters


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.