java.lang.Objectsun.security.validator.Validator
Direct Known Subclasses:
SimpleValidator, PKIXValidator
The model is that a Validator instance is created specifying validation settings, such as trust anchors or PKIX parameters. Then one or more paths are validated using those parameters. In some cases, additional information can be provided per path validation. This is independent of the validation parameters and currently only used for TLS server validation.
Path validation is performed by calling one of the validate() methods. It specifies a suggested path to be used for validation if available, or only the end entity certificate otherwise. Optionally additional certificates can be specified that the caller believes could be helpful. Implementations are free to make use of this information or validate the path using other means. validate() also checks that the end entity certificate is suitable for the intended purpose as described below.
There are two orthogonal parameters to select the Validator implementation: type and variant. Type selects the validation algorithm. Currently supported are TYPE_SIMPLE and TYPE_PKIX. See SimpleValidator and PKIXValidator for details.
Variant controls additional extension checks. Currently supported are five variants:
Examples:
// instantiate validator specifying type, variant, and trust anchors Validator validator = Validator.getInstance(Validator.TYPE_PKIX, Validator.VAR_TLS_CLIENT, trustedCerts); // validate one or more chains using the validator validator.validate(chain); // throws CertificateException if failed
Andreas - Sterbenz| Field Summary | ||
|---|---|---|
| static final X509Certificate[] | CHAIN0 | |
| public static final String | TYPE_SIMPLE | Constant for a validator of type Simple.
|
| public static final String | TYPE_PKIX | Constant for a validator of type PKIX.
|
| public static final String | VAR_GENERIC | Constant for a Generic variant of a validator.
|
| public static final String | VAR_CODE_SIGNING | Constant for a Code Signing variant of a validator.
|
| public static final String | VAR_JCE_SIGNING | Constant for a JCE Code Signing variant of a validator.
|
| public static final String | VAR_TLS_CLIENT | Constant for a TLS Client variant of a validator.
|
| public static final String | VAR_TLS_SERVER | Constant for a TLS Server variant of a validator.
|
| public static final String | VAR_TSA_SERVER | Constant for a TSA Server variant of a validator.
|
| public static final String | VAR_PLUGIN_CODE_SIGNING | Constant for a Code Signing variant of a validator for use by
the J2SE Plugin/WebStart code.
|
| final EndEntityChecker | endEntityChecker | |
| final String | variant | |
| volatile Date | validationDate |
|
| Constructor: |
|---|
|
| Method from sun.security.validator.Validator Summary: |
|---|
| engineValidate, getInstance, getInstance, getInstance, getTrustedCertificates, setValidationDate, validate, validate, validate |
| Methods from java.lang.Object: |
|---|
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from sun.security.validator.Validator Detail: |
|---|
|
|
|
|
|
Deprecated!
|
|
|
Parameter is an additional parameter with variant specific meaning. Currently, it is only defined for TLS_SERVER variant validators, where it must be non null and the name of the TLS key exchange algorithm being used (see JSSE X509TrustManager specification). In the future, it could be used to pass in a PKCS#7 object for code signing to check time stamps. |