fun generateDummyCertificate()

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


    fun generateDummyCertificate(keyPair: PEMKeyPair): X509Certificate {
        val dummyName = X500Name("CN=Dummy Certificate")
        val yesterday = Date.from(Instant.now().minus(Duration.ofDays(1)))
        val contentSigner = when (val privateKey = PrivateKeyFactory.createKey(keyPair.privateKeyInfo)) {
            is RSAPrivateCrtKeyParameters -> BcRSAContentSignerBuilder(
                AlgorithmIdentifier(PKCSObjectIdentifiers.rsaEncryption),
                AlgorithmIdentifier(NISTObjectIdentifiers.id_sha256)
            ).build(privateKey)
            is DSAPrivateKeyParameters -> BcDSAContentSignerBuilder(
                AlgorithmIdentifier(X9ObjectIdentifiers.id_dsa),
                AlgorithmIdentifier(NISTObjectIdentifiers.id_sha256)
            ).build(privateKey)
            else -> throw IllegalArgumentException("Unsupported key type: ${privateKey::class.java.simpleName}")
        }

        return JcaX509CertificateConverter()
            .getCertificate(
                X509v3CertificateBuilder(
                    dummyName,
                    BigInteger.valueOf(System.currentTimeMillis()),
                    yesterday,
                    farAwayDate,
                    dummyName,
                    keyPair.publicKeyInfo
                ).build(contentSigner)
            )
    }