Sets the pathToNames criterion. The
X509Certificate
must
not include name constraints that would prohibit building a
path to the specified names.
This method allows the caller to specify, with a single method call,
the complete set of names which the X509Certificates
's
name constraints must permit. The specified value replaces
the previous value for the pathToNames criterion.
This constraint is useful when building a certification path forward
(from the target toward the trust anchor. If a partial path has been
built, any candidate certificate must not include name constraints that
would prohibit building a path to any of the names in the partial path.
The names
parameter (if not null
) is a
Collection
with one
entry for each name to be included in the pathToNames
criterion. Each entry is a List
whose first entry is an
Integer
(the name type, 0-8) and whose second
entry is a String
or a byte array (the name, in
string or ASN.1 DER encoded form, respectively).
There can be multiple names of the same type. If null
is supplied as the value for this argument, no
pathToNames check will be performed.
Each name in the Collection
may be specified either as a String
or as an ASN.1 encoded
byte array. For more details about the formats used, see
addPathToName(int type, String name)
and
addPathToName(int type, byte [] name)
.
Note: for distinguished names, specify the byte
array form instead of the String form. See the note in
X509CertSelector.addPathToName(int, String)
for more information.
Note that the names
parameter can contain duplicate
names (same name and name type), but they may be removed from the
Collection
of names returned by the
getPathToNames
method.
Note that a deep copy is performed on the Collection
to
protect against subsequent modifications.
Parameters:
- names - a Collection
with one entry per name
(or null
)
Throws:
- IOException - if a parsing error occurs
See Also:
X509CertSelector.getPathToNames()
,