Home / Class/ TestTrustManagerFactory Class — netty Architecture

TestTrustManagerFactory Class — netty Architecture

Architecture documentation for the TestTrustManagerFactory class in SSLEngineTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  6dded024_edc4_2dde_08cd_6fe9d655212f["TestTrustManagerFactory"]
  859a13fc_5d1f_4d06_dca1_2d4d0f57be71["SSLEngineTest.java"]
  6dded024_edc4_2dde_08cd_6fe9d655212f -->|defined in| 859a13fc_5d1f_4d06_dca1_2d4d0f57be71
  83b973d3_fe75_37e7_c55c_35a4c59704d5["TestTrustManagerFactory()"]
  6dded024_edc4_2dde_08cd_6fe9d655212f -->|method| 83b973d3_fe75_37e7_c55c_35a4c59704d5
  5478c36c_914b_aebc_c285_af801d427e30["isVerified()"]
  6dded024_edc4_2dde_08cd_6fe9d655212f -->|method| 5478c36c_914b_aebc_c285_af801d427e30
  f746c49c_572e_23d6_c155_890c8dfbd9b1["checkClientTrusted()"]
  6dded024_edc4_2dde_08cd_6fe9d655212f -->|method| f746c49c_572e_23d6_c155_890c8dfbd9b1
  80467a26_6965_e03c_93c0_ec502b9927d1["checkServerTrusted()"]
  6dded024_edc4_2dde_08cd_6fe9d655212f -->|method| 80467a26_6965_e03c_93c0_ec502b9927d1
  868c96da_36cb_76e4_d278_0e4a82db88c9["getAcceptedIssuers()"]
  6dded024_edc4_2dde_08cd_6fe9d655212f -->|method| 868c96da_36cb_76e4_d278_0e4a82db88c9

Relationship Graph

Source Code

handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java lines 4603–4668

    private static final class TestTrustManagerFactory extends X509ExtendedTrustManager {
        private final Certificate localCert;
        private volatile boolean verified;

        TestTrustManagerFactory(Certificate localCert) {
            this.localCert = localCert;
        }

        boolean isVerified() {
            return verified;
        }

        @Override
        public void checkClientTrusted(
                java.security.cert.X509Certificate[] x509Certificates, String s, Socket socket) {
            fail();
        }

        @Override
        public void checkServerTrusted(
                java.security.cert.X509Certificate[] x509Certificates, String s, Socket socket) {
            fail();
        }

        @Override
        public void checkClientTrusted(
                java.security.cert.X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) {
            verified = true;
            assertFalse(sslEngine.getUseClientMode());
            SSLSession session = sslEngine.getHandshakeSession();
            assertNotNull(session);
            Certificate[] localCertificates = session.getLocalCertificates();
            assertNotNull(localCertificates);
            assertEquals(1, localCertificates.length);
            assertEquals(localCert, localCertificates[0]);
            assertNotNull(session.getLocalPrincipal());
        }

        @Override
        public void checkServerTrusted(
                java.security.cert.X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) {
            verified = true;
            assertTrue(sslEngine.getUseClientMode());
            SSLSession session = sslEngine.getHandshakeSession();
            assertNotNull(session);
            assertNull(session.getLocalCertificates());
            assertNull(session.getLocalPrincipal());
        }

        @Override
        public void checkClientTrusted(
                java.security.cert.X509Certificate[] x509Certificates, String s) {
            fail();
        }

        @Override
        public void checkServerTrusted(
                java.security.cert.X509Certificate[] x509Certificates, String s) {
            fail();
        }

        @Override
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return EmptyArrays.EMPTY_X509_CERTIFICATES;
        }
    }

Frequently Asked Questions

What is the TestTrustManagerFactory class?
TestTrustManagerFactory is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java.
Where is TestTrustManagerFactory defined?
TestTrustManagerFactory is defined in handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java at line 4603.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free