private List<SignedCertificateTimestamp> getSCTsFromX509Extension(OpenSSLX509Certificate leaf) {
        byte[] extData = leaf.getExtensionValue(Constants.X509_SCT_LIST_OID);
        if (extData == null) {
            return Collections.emptyList();
        }

        try {
            return getSCTsFromSCTList(
                    Serialization.readDEROctetString(Serialization.readDEROctetString(extData)),
                    SignedCertificateTimestamp.Origin.EMBEDDED);
        } catch (SerializationException e) {
            return Collections.emptyList();
        }
    }
Extract a list of SignedCertificateTimestamp embedded in an X509 certificate.

If the certificate does not contain any SCT extension, or the encompassing encoded list fails
to be parsed, an empty list is returned. Individual SCTs which fail to be parsed are ignored.
common/src/main/java/org/conscrypt/ct/Verifier.java