@Override
    public Certificate engineGenerateCertificate(InputStream inStream) throws CertificateException {
        try {
            return certificateParser.generateItem(inStream);
        } catch (ParsingException e) {
            throw new CertificateException(e);
        }
    }
The code for X509 Certificates and CRL is pretty much the same. We use
this abstract class to share the code between them. This makes it ugly,
but it's already written in this language anyway.
common/src/main/java/org/conscrypt/OpenSSLX509CertificateFactory.java