javax.net.ssl.X509ExtendedTrustManager
| Modifier and Type | Class and Description |
|---|---|
| private static class | TrustManagerImpl.ExtendedKeyUsagePKIXCertPathChecker
If an EKU extension is present in the end-entity certificate, it MUST contain an appropriate key usage. |
| private static class | TrustManagerImpl.TrustAnchorComparator
Comparator for sorting |
| Modifier and Type | Field and Description |
|---|---|
| private final X509Certificate[] | acceptedIssuers
This is lazily initialized in the AndroidCAStore case since it forces us to bring all the CAs into memory. |
| private final CertBlocklist | |
| private boolean | |
| private CTPolicy | |
| private CTVerifier | |
| private static ConscryptHostnameVerifier | |
| private final Exception | |
| private final CertificateFactory | |
| private ConscryptHostnameVerifier | |
| private final TrustedCertificateIndex | intermediateIndex
An index of intermediate certificates that we've seen. |
| private static final Logger | |
| private CertPinManager | pinManager
The CertPinManager, which validates the chain against a host-to-pin mapping |
| private final KeyStore | rootKeyStore
The AndroidCAStore if non-null, null otherwise. |
| private static final TrustManagerImpl. | TRUST_ANCHOR_COMPARATOR
Comparator used for ordering trust anchors during certificate path building. |
| private final TrustedCertificateIndex | trustedCertificateIndex
An index of TrustAnchor instances that we've seen. |
| private final ConscryptCertStore | trustedCertificateStore
The backing store for the AndroidCAStore if non-null. |
| private final CertPathValidator |
| Access | Constructor and Description |
|---|---|
| public | |
| public | |
| public | |
| public | TrustManagerImpl(KeyStore keyStore, CertPinManager manager, ConscryptCertStore certStore, CertBlocklist blocklist)
|
| public | TrustManagerImpl(KeyStore keyStore, CertPinManager manager, ConscryptCertStore certStore, CertBlocklist blocklist, CTLogStore ctLogStore, CTVerifier ctVerifier, CTPolicy ctPolicy)
For testing only. |
| Modifier and Type | Method and Description |
|---|---|
| private static X509Certificate[] | |
| private void | |
| public void | checkClientTrusted(X509Certificate[]
the peer certificate chain chain, String the authentication type based on the client certificate authType)Implements javax. |
| public List | checkClientTrusted(X509Certificate[] chain, String authType, String hostname)
For backward compatibility with older Android API that used String for the hostname only. |
| public void | checkClientTrusted(X509Certificate[]
the peer certificate chain chain, String the key exchange algorithm used authType, Socket the socket used for this connection. This parameter
can be null, which indicates that implementations need not check
the ssl parameters socket)Implements abstract javax. |
| public void | checkClientTrusted(X509Certificate[]
the peer certificate chain chain, String the key exchange algorithm used authType, SSLEngine the engine used for this connection. This parameter
can be null, which indicates that implementations need not check
the ssl parameters engine)Implements abstract javax. |
| private void | |
| public void | checkServerTrusted(X509Certificate[]
the peer certificate chain chain, String the key exchange algorithm used authType)Implements javax. |
| public List | checkServerTrusted(X509Certificate[] chain, String authType, String hostname)
For backward compatibility with older Android API that used String for the hostname only. |
| public void | checkServerTrusted(X509Certificate[]
the peer certificate chain chain, String the key exchange algorithm used authType, Socket the socket used for this connection. This parameter
can be null, which indicates that implementations need not check
the ssl parameters socket)Implements abstract javax. |
| public void | checkServerTrusted(X509Certificate[]
the peer certificate chain chain, String the key exchange algorithm used authType, SSLEngine the engine used for this connection. This parameter
can be null, which indicates that implementations need not check
the ssl parameters engine)Implements abstract javax. |
| public List | checkServerTrusted(X509Certificate[] chain, String authType, SSLSession session)
Validates whether a server is trusted. |
| private List | checkTrusted(X509Certificate[] certs, String authType, SSLSession session, SSLParameters parameters, boolean clientAuth)
|
| private List | checkTrusted(X509Certificate[] certs, byte[] ocspData, byte[] tlsSctData, String authType, String host, boolean clientAuth)
|
| private List | Returns: The entire valid chain starting with the leaf certificate. This is the concatenation of untrustedChain and trustAnchorChain.the bag of certs provided by the peer. No order is assumed. certs, byte[] ocspData, byte[] tlsSctData, String the host being connected to. host, boolean if a client is being authorized instead of a server. clientAuth, ArrayList<X509Certificate> the untrusted section of the chain built so far. Must be mutable. untrustedChain, ArrayList<TrustAnchor> the trusted section of the chain built so far. Must be mutable. trustAnchorChain, Set<X509Certificate> the set certificates used so far in path building. Must be mutable. used)Recursively build certificate chains until a valid chain is found or all possible paths are exhausted. |
| private Set | findAllTrustAnchorsByIssuerAndSignature(X509Certificate cert)
Find all possible issuing trust anchors of |
| private TrustAnchor | findTrustAnchorBySubjectAndPublicKey(X509Certificate cert)
Check the trustedCertificateIndex for the cert to see if it is already trusted and failing that check the KeyStore if it is available. |
| public X509Certificate[] | getAcceptedIssuers()
Implements javax. |
| pack-priv static synchronized ConscryptHostnameVerifier | |
| private static SSLSession | |
| pack-priv ConscryptHostnameVerifier | |
| private ConscryptHostnameVerifier | |
| private static byte[] | |
| private byte[] | |
| public List | getTrustedChainForServer(X509Certificate[] certs, String authType, Socket socket)
Returns the full trusted certificate chain found from |
| public List | getTrustedChainForServer(X509Certificate[] certs, String authType, SSLEngine engine)
Returns the full trusted certificate chain found from |
| public void | |
| public void | |
| public void | |
| public void | |
| pack-priv static synchronized void | setDefaultHostnameVerifier(ConscryptHostnameVerifier verifier)
Set the default hostname verifier that will be used for HTTPS endpoint identification. |
| pack-priv void | setHostnameVerifier(ConscryptHostnameVerifier verifier)
Set the hostname verifier that will be used for HTTPS endpoint identification. |
| private void | setOcspResponses(PKIXParameters params, X509Certificate cert, byte[] ocspData)
Sets the OCSP response data that was possibly stapled to the TLS response. |
| private static Collection | sortPotentialAnchors(Set<TrustAnchor> anchors)
Sort potential anchors so that the most preferred for use come first. |
| private static Set | |
| private List | verifyChain(List<X509Certificate> untrustedChain, List<TrustAnchor> trustAnchorChain, String host, boolean clientAuth, byte[] ocspData, byte[] tlsSctData)
|