fun getRevocationLists()

in lib/src/main/kotlin/org/jetbrains/zip/signer/signer/CertificateUtils.kt [103:113]


    fun getRevocationLists(certs: List<X509Certificate>): List<X509CRL> {
        val certsExceptCA = certs.subList(0, certs.size - 1)
        return certsExceptCA.map { certificate ->
            val crlUris = getCrlUris(certificate)
            if (crlUris.isEmpty()) throw IllegalArgumentException("CRL not found for certificate")
            if (crlUris.size > 1) throw IllegalArgumentException("Multiple CRL URI found in certificate")
            val crlURI = crlUris.first()
            val certificateFactory = CertificateFactory.getInstance("X.509")
            certificateFactory.generateCRL(crlURI.toURL().openConnection().getInputStream()) as X509CRL
        }
    }