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
}
}