java.security.cert
public class X509CertSelector extends Object implements CertSelector, Cloneable
Use of this class requires extensive knowledge of the Internet Engineering Task Force's Public Key Infrastructure (X.509). The primary document describing this standard is RFC 3280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.
Note that this class is not thread-safe. If multiple threads will use or modify this class then they need to synchronize on the object.
Since: 1.4
Constructor Summary | |
---|---|
X509CertSelector()
Creates a new X.509 certificate selector. |
Method Summary | |
---|---|
void | addPathToName(int id, byte[] name)
Add a name to match in the NameConstraints extension. |
void | addPathToName(int id, String name)
Add a name to match in the NameConstraints extension. |
void | addSubjectAlternativeName(int id, byte[] name)
Add a name, as DER-encoded bytes, to the subject alternative names
criterion.
|
void | addSubjectAlternativeName(int id, String name)
Add a name to the subject alternative names criterion. |
Object | clone() |
byte[] | getAuthorityKeyIdentifier()
Returns the authority key identifier criterion, or null if
this value was not set. |
int | getBasicConstraints()
Returns the basic constraints criterion, or -1 if this value is not set.
|
X509Certificate | getCertificate()
Returns the certificate criterion, or null if this value
was not set.
|
Date | getCertificateValid()
Returns the date at which certificates must be valid, or null
if this criterion was not set.
|
Set<String> | getExtendedKeyUsage()
Returns the set of extended key purpose IDs, as an unmodifiable set
of OID strings. |
byte[] | getIssuerAsBytes()
Returns the issuer criterion as a sequence of DER bytes, or
null if this value was not set.
|
String | getIssuerAsString()
Returns the issuer criterion as a string, or null if this
value was not set.
|
boolean[] | getKeyUsage()
Returns the public key usage criterion, or null if this
value is not set. |
boolean | getMatchAllSubjectAltNames()
Returns whether or not all specified alternative names must match.
|
byte[] | getNameConstraints()
Returns the name constraints criterion, or null if this
value is not set. |
Collection<List<?>> | getPathToNames() |
Set<String> | getPolicy()
Returns the certificate policy extension that will be matched by this
selector, or null if the certificate policy will not be matched.
|
Date | getPrivateKeyValid()
This method, and its related X.509 certificate extension — the
private key usage period — is not supported under the Internet
PKI for X.509 certificates (PKIX), described in RFC 3280. |
BigInteger | getSerialNumber()
Returns the serial number criterion, or null if this
value was not set.
|
Collection<List<?>> | getSubjectAlternativeNames()
Get the subject alternative names criterion. |
byte[] | getSubjectAsBytes()
Returns the subject criterion as a sequence of DER bytes, or
null if this value is not set.
|
String | getSubjectAsString()
Returns the subject criterion as a string, of null if
this value was not set.
|
byte[] | getSubjectKeyIdentifier()
Returns the subject key identifier criterion, or null if
this value was not set. |
PublicKey | getSubjectPublicKey()
Returns the subject public key criterion, or null if this
value is not set.
|
String | getSubjectPublicKeyAlgID()
Returns the public key algorithm ID that matching certificates must have,
or null if this criterion was not set.
|
boolean | match(Certificate certificate)
Match a certificate. |
void | setAuthorityKeyIdentifier(byte[] authKeyId)
Sets the authority key identifier criterion, or null to clear
this criterion. |
void | setBasicConstraints(int basicConstraints)
Sets the basic constraints criterion. |
void | setCertificate(X509Certificate cert)
Sets the certificate criterion. |
void | setCertificateValid(Date certValid)
Sets the date at which certificates must be valid. |
void | setExtendedKeyUsage(Set<String> keyPurposeSet)
Sets the extended key usage criterion, as a set of OID strings. |
void | setIssuer(byte[] name)
Sets the issuer, specified as the DER encoding of the issuer's
distinguished name. |
void | setIssuer(String name)
Sets the issuer, specified as a string representation of the issuer's
distinguished name. |
void | setKeyUsage(boolean[] keyUsage)
Sets the public key usage criterion. |
void | setMatchAllSubjectAltNames(boolean matchAllNames)
Sets whether or not all subject alternative names must be matched.
|
void | setNameConstraints(byte[] nameConstraints)
Sets the name constraints criterion; specify null to
clear this criterion. |
void | setPathToNames(Collection<List<?>> names)
Sets the pathToNames criterion. |
void | setPolicy(Set<String> policy)
Sets the certificate policy to match, or null if this criterion should
not be checked. |
void | setPrivateKeyValid(Date UNUSED)
This method, and its related X.509 certificate extension — the
private key usage period — is not supported under the Internet
PKI for X.509 certificates (PKIX), described in RFC 3280. |
void | setSerialNumber(BigInteger serialNo)
Sets the serial number of the desired certificate. |
void | setSubject(byte[] name)
Sets the subject, specified as the DER encoding of the subject's
distinguished name. |
void | setSubject(String name)
Sets the subject, specified as a string representation of the
subject's distinguished name. |
void | setSubjectAlternativeNames(Collection<List<?>> altNames)
Sets the subject alternative names critertion. |
void | setSubjectKeyIdentifier(byte[] subjectKeyId)
Sets the subject key identifier criterion, or null to clear
this criterion. |
void | setSubjectPublicKey(byte[] key)
Sets the subject public key criterion as a DER-encoded key. |
void | setSubjectPublicKey(PublicKey key)
Sets the subject public key criterion as an opaque representation.
|
void | setSubjectPublicKeyAlgID(String sigId)
Sets the public key algorithm ID that matching certificates must have.
|
String | toString() |
Parameters: id The name identifier. Must be between 0 and 8. name The DER-encoded bytes of the name to match.
Throws: IOException If the name DER is malformed.
Parameters: id The name identifier. Must be between 0 and 8. name The name.
Throws: IOException If the name cannot be decoded.
GeneralName ::= CHOICE { otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }
Parameters: id The type of name this is. name The DER-encoded name.
Throws: IOException If the name is not a valid DER sequence.
Parameters: id The type of name this is. Must be in the range [0,8]. name The name.
Throws: IOException If the id is out of range, or if the name is null.
null
if
this value was not set. Note that the byte array is cloned to prevent
modification.
Returns: The authority key identifier.
Returns: The basic constraints.
null
if this value
was not set.
Returns: The certificate.
null
if this criterion was not set.
Returns: The target certificate valitity date.
null
if this criterion is not
set.
Returns: The set of key purpose OIDs (strings).
null
if this value was not set.
Returns: The issuer.
null
if this
value was not set.
Returns: The issuer.
null
if this
value is not set. Note that the array is cloned to prevent modification.
Returns: The public key usage.
Returns: true if all names must match.
null
if this
value is not set. Note that the byte array is cloned to prevent
modification.
Returns: The name constraints.
Returns: The policy to be matched, or null.
Do not use this method. It is not deprecated, as it is not deprecated
in the Java standard, but it is basically a no-operation and simply
returns null
.
Returns: Null.
null
if this
value was not set.
Returns: The serial number.
Returns: The subject alternative names criterion. Returns null if this criterion is not set.
null
if this value is not set.
Returns: The subject.
null
if
this value was not set.
Returns: The subject.
null
if
this value was not set. Note that the byte array is cloned to prevent
modification.
Returns: The subject key identifier.
null
if this
value is not set.
Returns: The subject public key.
null
if this criterion was not set.
Returns: The public key algorithm ID.
true
if the given certificate matches.
Parameters: certificate The certificate to check.
Returns: true if the certificate matches all criteria.
null
to clear
this criterion. Note that the byte array is cloned to prevent modification.
Parameters: authKeyId The authority key identifier.
Parameters: basicConstraints The new basic constraints value.
Parameters: cert The certificate.
null
to clear this criterion.
Parameters: certValid The certificate validity date.
null
to clear this value.
Parameters: keyPurposeSet The set of key purpose OIDs.
Throws: IOException If any element of the set is not a valid OID string.
Parameters: name The DER encoding of the issuer's distinguished name.
Throws: IOException If the given name is incorrectly formatted.
Parameters: name The string representation of the issuer's distinguished name.
Throws: IOException If the given name is incorrectly formatted.
null
to clear
this value.
Parameters: keyUsage The public key usage.
Parameters: matchAllNames Whether or not all alternative names must be matched.
null
to
clear this criterion. Note that if non-null, the argument will be
cloned to prevent modification.
Parameters: nameConstraints The new name constraints.
Throws: IOException If the argument is not a valid DER-encoded name constraints.
Parameters: names The names.
Throws: IOException If any argument is malformed.
Parameters: policy The policy to match.
Throws: IOException If some element of the policy is not a valid policy extenison OID.
Do not use this method. It is not deprecated, as it is not deprecated in the Java standard, but it is basically a no-operation.
Parameters: UNUSED Is silently ignored.
Parameters: serialNo The serial number.
Parameters: name The DER encoding of the subject's distinguished name.
Throws: IOException If the given name is incorrectly formatted.
Parameters: name The string representation of the subject's distinguished name.
Throws: IOException If the given name is incorrectly formatted.
Parameters: altNames The alternative names.
Throws: IOException If any element of the argument is invalid.
null
to clear
this criterion. Note that the byte array is cloned to prevent modification.
Parameters: subjectKeyId The subject key identifier.
null
to clear this value.
Parameters: key The DER-encoded key bytes.
Throws: IOException If the argument is not a valid DER-encoded key.
null
to clear this criterion.
Parameters: key The public key.
null
to clear this criterion.
Parameters: sigId The public key ID.
Throws: IOException If the specified ID is not a valid object identifier.