Home / Function/ setKeyMaterialServerSide() — netty Function Reference

setKeyMaterialServerSide() — netty Function Reference

Architecture documentation for the setKeyMaterialServerSide() function in OpenSslKeyMaterialManager.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  3b01879e_82cd_3256_f2aa_3ebac0487795["setKeyMaterialServerSide()"]
  11ae770e_feee_981d_8065_927b3b5d177e["OpenSslKeyMaterialManager"]
  3b01879e_82cd_3256_f2aa_3ebac0487795 -->|defined in| 11ae770e_feee_981d_8065_927b3b5d177e
  3154b46f_de9b_ad12_1688_71a3cf3d3625["resolveKeyTypeBit()"]
  3b01879e_82cd_3256_f2aa_3ebac0487795 -->|calls| 3154b46f_de9b_ad12_1688_71a3cf3d3625
  df75439f_1a1d_ea9c_9698_ca6c0b10cef2["setKeyMaterial()"]
  3b01879e_82cd_3256_f2aa_3ebac0487795 -->|calls| df75439f_1a1d_ea9c_9698_ca6c0b10cef2
  style 3b01879e_82cd_3256_f2aa_3ebac0487795 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/OpenSslKeyMaterialManager.java lines 60–93

    void setKeyMaterialServerSide(ReferenceCountedOpenSslEngine engine) throws SSLException {
        String[] authMethods = engine.authMethods();
        if (authMethods.length == 0) {
            throw new SSLHandshakeException("Unable to find key material");
        }

        // authMethods may contain duplicates or may result in the same type
        // but call chooseServerAlias(...) may be expensive. So let's ensure
        // we filter out duplicates.

        int seenTypes = 0;
        for (String authMethod : authMethods) {
            int typeBit = resolveKeyTypeBit(authMethod);
            if (typeBit == 0 || (seenTypes & typeBit) != 0) {
                continue;
            }

            seenTypes |= typeBit; // mark as seen

            String keyType = keyTypeString(typeBit);
            String alias = chooseServerAlias(engine, keyType);
            if (alias != null) {
                setKeyMaterial(engine, alias);
                return;
            }
        }

        if (hasTmpDhKeys && authMethods.length == 1 &&
                ("DH_anon".equals(authMethods[0]) || "ECDH_anon".equals(authMethods[0]))) {
            return; // These auth methods don't require certificates.
        }
        throw new SSLHandshakeException("Unable to find key material for auth method(s): "
                + Arrays.toString(authMethods));
    }

Domain

Subdomains

Frequently Asked Questions

What does setKeyMaterialServerSide() do?
setKeyMaterialServerSide() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/OpenSslKeyMaterialManager.java.
Where is setKeyMaterialServerSide() defined?
setKeyMaterialServerSide() is defined in handler/src/main/java/io/netty/handler/ssl/OpenSslKeyMaterialManager.java at line 60.
What does setKeyMaterialServerSide() call?
setKeyMaterialServerSide() calls 2 function(s): resolveKeyTypeBit, setKeyMaterial.

Analyze Your Own Codebase

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

Try Supermodel Free