Home / Function/ createMlKemCerts() — netty Function Reference

createMlKemCerts() — netty Function Reference

Architecture documentation for the createMlKemCerts() function in CertificateBuilderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  3b1efaee_e2d7_292b_728f_b70d50622c8f["createMlKemCerts()"]
  8c85a9d3_f3ae_f481_1984_99bd24f9c654["CertificateBuilderTest"]
  3b1efaee_e2d7_292b_728f_b70d50622c8f -->|defined in| 8c85a9d3_f3ae_f481_1984_99bd24f9c654
  style 3b1efaee_e2d7_292b_728f_b70d50622c8f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

pkitesting/src/test/java/io/netty/pkitesting/CertificateBuilderTest.java lines 118–152

    @EnabledForJreRange(
            min = JRE.JAVA_24,
            disabledReason = "ML-KEM is only supported in Java 24 onwards")
    @ParameterizedTest
    @EnumSource(names = {"mlKem512", "mlKem768", "mlKem1024"})
    void createMlKemCerts(Algorithm algorithm) throws Exception {
        CertificateBuilder mlKemBuilder = BASE.copy()
                .algorithm(algorithm);

        // ML-KEM cannot be used to sign itself
        assertThrows(IllegalStateException.class, () -> {
            mlKemBuilder.copy().setIsCertificateAuthority(true).buildSelfSigned();
        });

        CertificateBuilder mlDsaBuilder = BASE.copy()
                .algorithm(Algorithm.mlDsa44);
        X509Bundle issuer = mlDsaBuilder
                .subject("CN=issuer.netty.io, O=Netty")
                .setIsCertificateAuthority(true)
                .buildSelfSigned();

        // ML-KEM can be signed by others
        X509Bundle mlKemBundle = mlKemBuilder.buildIssuedBy(issuer);

        X509Certificate cert = mlKemBundle.getCertificate();
        assertFalse(mlKemBundle.isCertificateAuthority());
        assertFalse(mlKemBundle.isSelfSigned());
        assertThat(cert.getSubjectX500Principal()).isEqualTo(new X500Principal(SUBJECT));

        // ML-KEM cannot sign others
        IllegalArgumentException e = assertThrows(IllegalArgumentException.class, () -> {
            mlDsaBuilder.buildIssuedBy(mlKemBundle);
        });
        assertThat(e).hasMessageContaining("cannot be used for signing");
    }

Domain

Subdomains

Frequently Asked Questions

What does createMlKemCerts() do?
createMlKemCerts() is a function in the netty codebase, defined in pkitesting/src/test/java/io/netty/pkitesting/CertificateBuilderTest.java.
Where is createMlKemCerts() defined?
createMlKemCerts() is defined in pkitesting/src/test/java/io/netty/pkitesting/CertificateBuilderTest.java at line 118.

Analyze Your Own Codebase

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

Try Supermodel Free