| Modifier and Type | Class and Description |
|---|---|
| pack-priv static class | ForwardBuilder.
This inner class compares 2 PKIX certificates according to which should be tried first when building a path from the target. |
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private AdaptableX509CertSelector | |
| private X509CertSelector | |
| private static final Debug | |
| private X509CertSelector | |
| private final boolean | |
| pack-priv TrustAnchor | |
| private final Set | |
| private final Set | |
| private final Set |
| Access | Constructor and Description |
|---|---|
| pack-priv | ForwardBuilder(PKIX.
Initialize the builder with the input parameters. |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | addCertToPath(X509Certificate
the certificate to be added cert, LinkedList<X509Certificate> the certification path list certPathList)Implements abstract sun. Adds the certificate to the certPathList |
| private static int | Returns: the distance or -1 if no common ancestor or an attribute of the last RDN of the common ancestor is geographicalthe anchor's DN anchor, X500Name the issuer's DN issuer)Returns the distance (number of RDNs) from the issuer's DN to the common non-geographical ancestor of the trust anchor and issuer's DN. |
| private boolean | getCerts(AuthorityInfoAccessExtension aiaExt, Collection<X509Certificate> certs)
Download certificates from the given AIA and add them to the specified Collection. |
| private void | getMatchingCACerts(ForwardState currentState, List<CertStore> certStores, Collection<X509Certificate> caCerts)
Retrieves all CA certificates which satisfy constraints and requirements specified in the parameters and PKIX state. |
| pack-priv Collection | getMatchingCerts(State
the current state.
Must be an instance of currentState, List<CertStore> ForwardStatelist of CertStores certStores)Implements abstract sun. Retrieves all certs from the specified CertStores that satisfy the requirements specified in the parameters and the current PKIX state (name constraints, policy constraints, etc.). |
| private void | getMatchingEECerts(ForwardState currentState, List<CertStore> certStores, Collection<X509Certificate> eeCerts)
|
| pack-priv boolean | Returns: a boolean value indicating whether the cert completes the path.the certificate to test cert)Implements abstract sun. Verifies whether the input certificate completes the path. |
| pack-priv void | removeFinalCertFromPath(LinkedList<X509Certificate>
the certification path list certPathList)Implements abstract sun. Removes final certificate from the certPathList |
| pack-priv void | verifyCert(X509Certificate
the certificate to be verified cert, State the current state against which the cert is verified currentState, List<X509Certificate> the certPathList generated thus far certPathList)Implements abstract sun. Verifies a matching certificate. |
| caSelector | back to summary |
|---|---|
| private AdaptableX509CertSelector caSelector | |
| caTargetSelector | back to summary |
|---|---|
| private X509CertSelector caTargetSelector | |
| debug | back to summary |
|---|---|
| private static final Debug debug | |
| eeSelector | back to summary |
|---|---|
| private X509CertSelector eeSelector | |
| searchAllCertStores | back to summary |
|---|---|
| private final boolean searchAllCertStores | |
| trustAnchor | back to summary |
|---|---|
| pack-priv TrustAnchor trustAnchor | |
| trustAnchors | back to summary |
|---|---|
| private final Set<TrustAnchor> trustAnchors | |
| trustedCerts | back to summary |
|---|---|
| private final Set<X509Certificate> trustedCerts | |
| trustedSubjectDNs | back to summary |
|---|---|
| private final Set<X500Principal> trustedSubjectDNs | |
| ForwardBuilder | back to summary |
|---|---|
| pack-priv ForwardBuilder(PKIX. Initialize the builder with the input parameters. | |
| addCertToPath | back to summary |
|---|---|
| pack-priv void addCertToPath(X509Certificate cert, LinkedList<X509Certificate> certPathList) Implements abstract sun. Adds the certificate to the certPathList
| |
| distanceToCommonAncestor | back to summary |
|---|---|
| private static int distanceToCommonAncestor(X500Name anchor, X500Name issuer) Returns the distance (number of RDNs) from the issuer's DN to the common non-geographical ancestor of the trust anchor and issuer's DN. | |
| getCerts | back to summary |
|---|---|
| private boolean getCerts(AuthorityInfoAccessExtension aiaExt, Collection<X509Certificate> certs) Download certificates from the given AIA and add them to the specified Collection.
| |
| getMatchingCACerts | back to summary |
|---|---|
| private void getMatchingCACerts(ForwardState currentState, List<CertStore> certStores, Collection<X509Certificate> caCerts) throws IOException Retrieves all CA certificates which satisfy constraints and requirements specified in the parameters and PKIX state. | |
| getMatchingCerts | back to summary |
|---|---|
| pack-priv Collection Implements abstract sun. Retrieves all certs from the specified CertStores that satisfy the requirements specified in the parameters and the current PKIX state (name constraints, policy constraints, etc.). | |
| getMatchingEECerts | back to summary |
|---|---|
| private void getMatchingEECerts(ForwardState currentState, List<CertStore> certStores, Collection<X509Certificate> eeCerts) throws IOException | |
| isPathCompleted | back to summary |
|---|---|
| pack-priv boolean isPathCompleted(X509Certificate cert) Implements abstract sun. Verifies whether the input certificate completes the path. First checks the cert against each trust anchor that was specified, in order, and returns true if the cert matches the trust anchor specified as a certificate or has the same key and subject of an anchor specified as a trusted {pubkey, caname} pair. If no match has been found, does a second check of the cert against anchors specified as a trusted {pubkey, caname} pair to see if the cert was issued by that anchor. Returns false if none of the trust anchors are valid for this cert.
| |
| removeFinalCertFromPath | back to summary |
|---|---|
| pack-priv void removeFinalCertFromPath(LinkedList<X509Certificate> certPathList) Implements abstract sun. Removes final certificate from the certPathList
| |
| verifyCert | back to summary |
|---|---|
| pack-priv void verifyCert(X509Certificate cert, State currentState, List<X509Certificate> certPathList) throws GeneralSecurityException Implements abstract sun. Verifies a matching certificate. This method executes the validation steps in the PKIX path validation algorithm, RFC 5280, which were not satisfied by the selection criteria used by getCertificates() to find the certs and only the steps that can be executed in a forward direction (target to trust anchor). Those steps that can only be executed in a reverse direction are deferred until the complete path has been built. Trust anchor certs are not validated. If the last certificate is being verified (the one whose subject matches the target subject) then steps in 6.1.4 of the PKIX Certification Path Validation algorithm are NOT executed, regardless of whether the last cert is an end-entity cert or not. This allows callers to certify CA certs as well as EE certs.
| |
| Modifier and Type | Field and Description |
|---|---|
| private final X509CertSelector | |
| pack-priv static final String | |
| private final Set |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public int | Returns: -1 if oCert1 is preferable to oCert2, or if oCert1 and oCert2 are equally preferable (in this case it doesn't matter which is preferable, but we don't return 0 because the comparator would behave strangely when used in a SortedSet). 1 if oCert2 is preferable to oCert1 0 if oCert1.equals(oCert2). We only return 0 if the certs are equal so that this comparator behaves correctly when used in a SortedSet.first X509Certificate to be compared oCert1, X509Certificate second X509Certificate to be compared oCert2)Implements java. Compares its two arguments for order. |
| private X509CertSelector | getSelector(X509CertImpl previousCert)
Returns an X509CertSelector for matching on the authority key identifier, or null if not applicable. |
| certSkidSelector | back to summary |
|---|---|
| private final X509CertSelector certSkidSelector | |
| METHOD_NME | back to summary |
|---|---|
| pack-priv static final String METHOD_NME | |
| trustedSubjectDNs | back to summary |
|---|---|
| private final Set<X500Principal> trustedSubjectDNs | |
| PKIXCertComparator | back to summary |
|---|---|
| pack-priv PKIXCertComparator(Set<X500Principal> trustedSubjectDNs, X509CertImpl previousCert) throws IOException | |
| compare | back to summary |
|---|---|
| public int compare(X509Certificate oCert1, X509Certificate oCert2) Implements java. Doc from java. Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
The implementor must ensure that
The implementor must also ensure that the relation is transitive:
Finally, the implementor must ensure that
| |
| getSelector | back to summary |
|---|---|
| private X509CertSelector getSelector(X509CertImpl previousCert) throws IOException Returns an X509CertSelector for matching on the authority key identifier, or null if not applicable. | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final ThreadTracker |
| Access | Constructor and Description |
|---|---|
| private |
| AIA_TRACKER | back to summary |
|---|---|
| pack-priv static final ThreadTracker AIA_TRACKER | |
| ThreadTrackerHolder | back to summary |
|---|---|
| private ThreadTrackerHolder() | |