Home / Class/ LazyX509Certificate Class — netty Architecture

LazyX509Certificate Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1["LazyX509Certificate"]
  76d04e1c_ff99_6d9a_e164_f93fe76fd5dc["LazyX509Certificate.java"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|defined in| 76d04e1c_ff99_6d9a_e164_f93fe76fd5dc
  95ab68b1_907f_8faa_1c79_ccd89cabab89["LazyX509Certificate()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| 95ab68b1_907f_8faa_1c79_ccd89cabab89
  a24ef2de_5ed0_590b_5ac2_0ee9eb8ea807["checkValidity()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| a24ef2de_5ed0_590b_5ac2_0ee9eb8ea807
  e5a1cfca_be11_b726_652e_861032a07ffe["X500Principal()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| e5a1cfca_be11_b726_652e_861032a07ffe
  a2197b3b_b69d_bcc2_dc47_a651434a6ebe["getExtendedKeyUsage()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| a2197b3b_b69d_bcc2_dc47_a651434a6ebe
  b5fc4e2d_13dd_3cfc_7c6c_a381f4c70981["getSubjectAlternativeNames()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| b5fc4e2d_13dd_3cfc_7c6c_a381f4c70981
  cb52a304_3de5_9741_153a_c022b0ca8f2d["getIssuerAlternativeNames()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| cb52a304_3de5_9741_153a_c022b0ca8f2d
  eb257ebf_5c4c_08f3_43de_035119b08283["verify()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| eb257ebf_5c4c_08f3_43de_035119b08283
  e3abb79d_c70c_8c4a_a779_90cd9bdfc90e["getVersion()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| e3abb79d_c70c_8c4a_a779_90cd9bdfc90e
  b840b217_b87d_6969_cc83_2d6d636a5765["BigInteger()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| b840b217_b87d_6969_cc83_2d6d636a5765
  97c4bded_2842_683d_bd7f_febef540daed["Principal()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| 97c4bded_2842_683d_bd7f_febef540daed
  692c40ba_8102_417a_6aeb_bb06a5da6da8["Date()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| 692c40ba_8102_417a_6aeb_bb06a5da6da8
  967717a3_d789_fe94_63d1_fe930d36f86d["getTBSCertificate()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| 967717a3_d789_fe94_63d1_fe930d36f86d
  ea1d05f1_1e4d_4c7d_7c31_9e267a8db97b["getSignature()"]
  c7c1abcf_e330_0d50_d97e_45b9efa6eda1 -->|method| ea1d05f1_1e4d_4c7d_7c31_9e267a8db97b

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/util/LazyX509Certificate.java lines 42–240

public final class LazyX509Certificate extends X509Certificate {

    static final CertificateFactory X509_CERT_FACTORY;
    static {
        try {
            X509_CERT_FACTORY = CertificateFactory.getInstance("X.509");
        } catch (CertificateException e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    private final byte[] bytes;
    private X509Certificate wrapped;

    /**
     * Creates a new instance which will lazy parse the given bytes. Be aware that the bytes will not be cloned.
     */
    public LazyX509Certificate(byte[] bytes) {
        this.bytes = ObjectUtil.checkNotNull(bytes, "bytes");
    }

    @Override
    public void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException {
        unwrap().checkValidity();
    }

    @Override
    public void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException {
        unwrap().checkValidity(date);
    }

    @Override
    public X500Principal getIssuerX500Principal() {
        return unwrap().getIssuerX500Principal();
    }

    @Override
    public X500Principal getSubjectX500Principal() {
        return unwrap().getSubjectX500Principal();
    }

    @Override
    public List<String> getExtendedKeyUsage() throws CertificateParsingException {
        return unwrap().getExtendedKeyUsage();
    }

    @Override
    public Collection<List<?>> getSubjectAlternativeNames() throws CertificateParsingException {
        return unwrap().getSubjectAlternativeNames();
    }

    @Override
    public Collection<List<?>> getIssuerAlternativeNames() throws CertificateParsingException {
        return unwrap().getIssuerAlternativeNames();
    }

    @Override
    public void verify(PublicKey key, Provider sigProvider)
            throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException {
        unwrap().verify(key, sigProvider);
    }

    @Override
    public int getVersion() {
        return unwrap().getVersion();
    }

    @Override
    public BigInteger getSerialNumber() {
        return unwrap().getSerialNumber();
    }

    @Override
    public Principal getIssuerDN() {
        return unwrap().getIssuerDN();
    }

    @Override
    public Principal getSubjectDN() {
        return unwrap().getSubjectDN();
    }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free