APIdia Launch Partner
Top Description Fields Constructors Methods
sun.security.validator

pack-priv Class EndEntityChecker

extends Object
Class Inheritance
Imports
java.util.*, java.security.cert.*, sun.security.util.KnownOIDs, sun.security.x509.NetscapeCertTypeExtension

Class to check if an end entity cert is suitable for use in some context.

This class is used internally by the validator. Currently, seven variants are supported defined as VAR_XXX constants in the Validator class:

Author
Andreas Sterbenz

Field Summary

Modifier and TypeField and Description
private static final int
private static final int
private static final int
private static final Collection<String>
private static final Collection<String>
private static final Collection<String>
private static final int
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private final String
private final String

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv void
check(X509Certificate[] chain, Object parameter, boolean checkUnresolvedCritExts)

private void
checkCodeSigning(X509Certificate cert, Set<String> exts)

Check whether this certificate can be used for code signing.

private boolean
checkEKU(X509Certificate cert, Set<String> exts, String expectedEKU)

Utility method checking if the extended key usage extension in certificate cert allows use for expectedEKU.

private boolean
checkKeyUsage(X509Certificate cert, int bit)

Utility method checking if bit 'bit' is set in this certificates key usage extension.

private void
checkRemainingExtensions(Set<String> exts)

Utility method checking if there are any unresolved critical extensions.

private void
checkTLSClient(X509Certificate cert, Set<String> exts)

Check whether this certificate can be used for TLS client authentication.

private void
checkTLSServer(X509Certificate cert, String parameter, Set<String> exts)

Check whether this certificate can be used for TLS server authentication using the specified authentication type parameter.

private void
checkTSAServer(X509Certificate cert, Set<String> exts)

Check whether this certificate can be used by a time stamping authority server (see RFC 3161, section 2.3).

private Set<String>
getCriticalExtensions(X509Certificate cert)

Utility method returning the Set of critical extensions for certificate cert (never null).

pack-priv static EndEntityChecker
getInstance(String type, String variant)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

KU_KEY_AGREEMENTback to summary
private static final int KU_KEY_AGREEMENT
KU_KEY_ENCIPHERMENTback to summary
private static final int KU_KEY_ENCIPHERMENT
KU_NON_REPUDIATIONback to summary
private static final int KU_NON_REPUDIATION
KU_SERVER_ENCRYPTIONback to summary
private static final Collection<String> KU_SERVER_ENCRYPTION
KU_SERVER_KEY_AGREEMENTback to summary
private static final Collection<String> KU_SERVER_KEY_AGREEMENT
KU_SERVER_SIGNATUREback to summary
private static final Collection<String> KU_SERVER_SIGNATURE
KU_SIGNATUREback to summary
private static final int KU_SIGNATURE
NSCT_CODE_SIGNINGback to summary
private static final String NSCT_CODE_SIGNING
NSCT_SSL_CLIENTback to summary
private static final String NSCT_SSL_CLIENT
NSCT_SSL_SERVERback to summary
private static final String NSCT_SSL_SERVER
OID_EKU_ANY_USAGEback to summary
private static final String OID_EKU_ANY_USAGE
OID_EKU_CODE_SIGNINGback to summary
private static final String OID_EKU_CODE_SIGNING
OID_EKU_MS_SGCback to summary
private static final String OID_EKU_MS_SGC
OID_EKU_NS_SGCback to summary
private static final String OID_EKU_NS_SGC
OID_EKU_TIME_STAMPINGback to summary
private static final String OID_EKU_TIME_STAMPING
OID_EKU_TLS_CLIENTback to summary
private static final String OID_EKU_TLS_CLIENT
OID_EKU_TLS_SERVERback to summary
private static final String OID_EKU_TLS_SERVER
OID_EXTENDED_KEY_USAGEback to summary
private static final String OID_EXTENDED_KEY_USAGE
OID_SUBJECT_ALT_NAMEback to summary
private static final String OID_SUBJECT_ALT_NAME
typeback to summary
private final String type
variantback to summary
private final String variant

Constructor Detail

EndEntityCheckerback to summary
private EndEntityChecker(String type, String variant)

Method Detail

checkback to summary
pack-priv void check(X509Certificate[] chain, Object parameter, boolean checkUnresolvedCritExts) throws CertificateException
checkCodeSigningback to summary
private void checkCodeSigning(X509Certificate cert, Set<String> exts) throws CertificateException

Check whether this certificate can be used for code signing.

Exceptions
CertificateException:
if not.
checkEKUback to summary
private boolean checkEKU(X509Certificate cert, Set<String> exts, String expectedEKU) throws CertificateException

Utility method checking if the extended key usage extension in certificate cert allows use for expectedEKU.

checkKeyUsageback to summary
private boolean checkKeyUsage(X509Certificate cert, int bit)

Utility method checking if bit 'bit' is set in this certificates key usage extension.

checkRemainingExtensionsback to summary
private void checkRemainingExtensions(Set<String> exts) throws CertificateException

Utility method checking if there are any unresolved critical extensions.

Exceptions
CertificateException:
if so.
checkTLSClientback to summary
private void checkTLSClient(X509Certificate cert, Set<String> exts) throws CertificateException

Check whether this certificate can be used for TLS client authentication.

Exceptions
CertificateException:
if not.
checkTLSServerback to summary
private void checkTLSServer(X509Certificate cert, String parameter, Set<String> exts) throws CertificateException

Check whether this certificate can be used for TLS server authentication using the specified authentication type parameter. See X509TrustManager specification for details.

Exceptions
CertificateException:
if not.
checkTSAServerback to summary
private void checkTSAServer(X509Certificate cert, Set<String> exts) throws CertificateException

Check whether this certificate can be used by a time stamping authority server (see RFC 3161, section 2.3).

Exceptions
CertificateException:
if not.
getCriticalExtensionsback to summary
private Set<String> getCriticalExtensions(X509Certificate cert)

Utility method returning the Set of critical extensions for certificate cert (never null).

getInstanceback to summary
pack-priv static EndEntityChecker getInstance(String type, String variant)