Home / Function/ initPeerCerts() — netty Function Reference

initPeerCerts() — netty Function Reference

Architecture documentation for the initPeerCerts() function in QuicheQuicSslEngine.java from the netty codebase.

Function java Buffer Allocators calls 3 called by 1

Entity Profile

Dependency Diagram

graph TD
  4ea49efe_8dcd_77b8_5a95_84d971494166["initPeerCerts()"]
  453b39a5_2559_f486_48cb_8821ee8fee5a["QuicheQuicSslSession"]
  4ea49efe_8dcd_77b8_5a95_84d971494166 -->|defined in| 453b39a5_2559_f486_48cb_8821ee8fee5a
  2f0da474_3134_b68a_b8a2_24f626147d14["handshakeFinished()"]
  2f0da474_3134_b68a_b8a2_24f626147d14 -->|calls| 4ea49efe_8dcd_77b8_5a95_84d971494166
  56c21a8c_db23_12c9_4363_1a5cfadf2e95["getUseClientMode()"]
  4ea49efe_8dcd_77b8_5a95_84d971494166 -->|calls| 56c21a8c_db23_12c9_4363_1a5cfadf2e95
  baaecb55_9a6a_00eb_53de_8db4f152a595["isEmpty()"]
  4ea49efe_8dcd_77b8_5a95_84d971494166 -->|calls| baaecb55_9a6a_00eb_53de_8db4f152a595
  8b9ba183_a3b1_2ccd_f4f0_6121f3f81994["initCerts()"]
  4ea49efe_8dcd_77b8_5a95_84d971494166 -->|calls| 8b9ba183_a3b1_2ccd_f4f0_6121f3f81994
  style 4ea49efe_8dcd_77b8_5a95_84d971494166 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicSslEngine.java lines 338–371

        private void initPeerCerts(byte[][] chain, byte[] clientCert) {
            // Return the full chain from the JNI layer.
            if (getUseClientMode()) {
                if (isEmpty(chain)) {
                    peerCerts = EmptyArrays.EMPTY_CERTIFICATES;
                    x509PeerCerts = EmptyArrays.EMPTY_JAVAX_X509_CERTIFICATES;
                } else {
                    peerCerts = new Certificate[chain.length];
                    x509PeerCerts = new X509Certificate[chain.length];
                    initCerts(chain, 0);
                }
            } else {
                // if used on the server side SSL_get_peer_cert_chain(...) will not include the remote peer
                // certificate. We use SSL_get_peer_certificate to get it in this case and add it to our
                // array later.
                //
                // See https://www.openssl.org/docs/ssl/SSL_get_peer_cert_chain.html
                if (isEmpty(clientCert)) {
                    peerCerts = EmptyArrays.EMPTY_CERTIFICATES;
                    x509PeerCerts = EmptyArrays.EMPTY_JAVAX_X509_CERTIFICATES;
                } else {
                    if (isEmpty(chain)) {
                        peerCerts = new Certificate[] {new LazyX509Certificate(clientCert)};
                        x509PeerCerts = new X509Certificate[] {new LazyJavaxX509Certificate(clientCert)};
                    } else {
                        peerCerts = new Certificate[chain.length + 1];
                        x509PeerCerts = new X509Certificate[chain.length + 1];
                        peerCerts[0] = new LazyX509Certificate(clientCert);
                        x509PeerCerts[0] = new LazyJavaxX509Certificate(clientCert);
                        initCerts(chain, 1);
                    }
                }
            }
        }

Domain

Subdomains

Frequently Asked Questions

What does initPeerCerts() do?
initPeerCerts() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicSslEngine.java.
Where is initPeerCerts() defined?
initPeerCerts() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicSslEngine.java at line 338.
What does initPeerCerts() call?
initPeerCerts() calls 3 function(s): getUseClientMode, initCerts, isEmpty.
What calls initPeerCerts()?
initPeerCerts() is called by 1 function(s): handshakeFinished.

Analyze Your Own Codebase

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

Try Supermodel Free