Home / Class/ BouncyCastleSelfSignedCertGenerator Class — netty Architecture

BouncyCastleSelfSignedCertGenerator Class — netty Architecture

Architecture documentation for the BouncyCastleSelfSignedCertGenerator class in BouncyCastleSelfSignedCertGenerator.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  af19979c_65aa_cb3b_af35_05c59657788b["BouncyCastleSelfSignedCertGenerator"]
  4ac51e10_9cec_6093_dd95_869b60b002e9["BouncyCastleSelfSignedCertGenerator.java"]
  af19979c_65aa_cb3b_af35_05c59657788b -->|defined in| 4ac51e10_9cec_6093_dd95_869b60b002e9
  47790930_3648_5ba2_6448_c4bf855f7ab3["generate()"]
  af19979c_65aa_cb3b_af35_05c59657788b -->|method| 47790930_3648_5ba2_6448_c4bf855f7ab3
  3592078a_78ab_98fa_7034_dbc73b776f3d["BouncyCastleSelfSignedCertGenerator()"]
  af19979c_65aa_cb3b_af35_05c59657788b -->|method| 3592078a_78ab_98fa_7034_dbc73b776f3d

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/util/BouncyCastleSelfSignedCertGenerator.java lines 39–61

final class BouncyCastleSelfSignedCertGenerator {
    static String[] generate(String fqdn, KeyPair keypair, SecureRandom random, Date notBefore, Date notAfter,
                             String algorithm) throws Exception {
        PrivateKey key = keypair.getPrivate();

        // Prepare the information required for generating an X.509 certificate.
        X500Name owner = new X500Name("CN=" + fqdn);
        X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(
                owner, new BigInteger(64, random), notBefore, notAfter, owner, keypair.getPublic());

        ContentSigner signer = new JcaContentSignerBuilder(
                algorithm.equalsIgnoreCase("EC") ? "SHA256withECDSA" : "SHA256WithRSAEncryption").build(key);
        X509CertificateHolder certHolder = builder.build(signer);
        X509Certificate cert = new JcaX509CertificateConverter()
                .setProvider(BouncyCastleUtil.getBcProviderJce())
                .getCertificate(certHolder);
        cert.verify(keypair.getPublic());

        return newSelfSignedCertificate(fqdn, key, cert);
    }

    private BouncyCastleSelfSignedCertGenerator() { }
}

Frequently Asked Questions

What is the BouncyCastleSelfSignedCertGenerator class?
BouncyCastleSelfSignedCertGenerator is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/util/BouncyCastleSelfSignedCertGenerator.java.
Where is BouncyCastleSelfSignedCertGenerator defined?
BouncyCastleSelfSignedCertGenerator is defined in handler/src/main/java/io/netty/handler/ssl/util/BouncyCastleSelfSignedCertGenerator.java at line 39.

Analyze Your Own Codebase

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

Try Supermodel Free