diff --git a/metadata/index.json b/metadata/index.json index 66e18d11b..bbd4eb71d 100644 --- a/metadata/index.json +++ b/metadata/index.json @@ -175,7 +175,7 @@ "allowed-packages" : [ "org.apache.kafka", "org.rocksdb" ], "directory" : "org.apache.kafka/kafka-streams", "module" : "org.apache.kafka:kafka-streams" -},{ +}, { "allowed-packages" : [ "org.apache.tomcat", "org.apache.catalina" ], "directory" : "org.apache.tomcat.embed/tomcat-embed-core", "module" : "org.apache.tomcat.embed:tomcat-embed-core" @@ -187,6 +187,10 @@ "allowed-packages" : [ "org.bouncycastle" ], "directory" : "org.bouncycastle/bcpkix-jdk15on", "module" : "org.bouncycastle:bcpkix-jdk15on" +}, { + "allowed-packages" : [ "org.bouncycastle" ], + "directory" : "org.bouncycastle/bcpkix-jdk15to18", + "module" : "org.bouncycastle:bcpkix-jdk15to18" }, { "allowed-packages" : [ "org.eclipse.jetty" ], "directory" : "org.eclipse.jetty/jetty-client", diff --git a/metadata/org.bouncycastle/bcpkix-jdk15to18/1.77/index.json b/metadata/org.bouncycastle/bcpkix-jdk15to18/1.77/index.json new file mode 100644 index 000000000..768b5502a --- /dev/null +++ b/metadata/org.bouncycastle/bcpkix-jdk15to18/1.77/index.json @@ -0,0 +1,3 @@ +[ + "reflect-config.json" +] diff --git a/metadata/org.bouncycastle/bcpkix-jdk15to18/1.77/reflect-config.json b/metadata/org.bouncycastle/bcpkix-jdk15to18/1.77/reflect-config.json new file mode 100644 index 000000000..4ab82e885 --- /dev/null +++ b/metadata/org.bouncycastle/bcpkix-jdk15to18/1.77/reflect-config.json @@ -0,0 +1,1360 @@ +[ + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.COMPOSITE$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.DSTU4145$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.Dilithium$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.ECGOST$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.EXTERNAL$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.EdEC$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.ElGamal$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.Falcon$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.GM$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.GOST$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.IES$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.LMS$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.NTRU$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.SPHINCSPlus$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA256", + "condition": { + "typeReachable": "org.bouncycastle.jcajce.util.ProviderJcaJceHelper" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi", + "condition": { + "typeReachable": "org.bouncycastle.jcajce.util.ProviderJcaJceHelper" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi", + "condition": { + "typeReachable": "org.bouncycastle.jcajce.util.ProviderJcaJceHelper" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.asymmetric.x509.CertificateFactory", + "condition": { + "typeReachable": "org.bouncycastle.cert.jcajce.ProviderCertHelper" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Blake2b$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Blake2s$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Blake3$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.DSTU7564$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Haraka$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Keccak$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.MD2$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.MD4$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.MD5$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.RIPEMD128$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.RIPEMD160$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.RIPEMD256$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.RIPEMD320$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SHA1$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SHA224$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SHA256$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SHA3$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SHA384$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SHA512$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.SM3$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Skein$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Tiger$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.digest.Whirlpool$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.drbg.DRBG$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.keystore.BC$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.keystore.BCFKS$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.AES$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.ARIA$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.CAST5$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.CAST6$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Camellia$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.ChaCha$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.DES$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.DSTU7624$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.GOST28147$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.GOST3412_2015$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Grain128$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Grainv1$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.HC128$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.HC256$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Noekeon$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.OpenSSLPBKDF$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF1$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Poly1305$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.RC5$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.RC6$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Rijndael$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.SCRYPT$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.SEED$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.SM4$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Salsa20$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Serpent$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Shacal2$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.SipHash$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.SipHash128$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Skipjack$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.TEA$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.TLSKDF$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Threefish$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.VMPC$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.VMPCKSA3$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.XSalsa20$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.XTEA$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + }, + { + "name": "org.bouncycastle.jcajce.provider.symmetric.Zuc$Mappings", + "condition": { + "typeReachable": "org.bouncycastle.jce.provider.BouncyCastleProvider" + }, + "methods": [ + { + "name": "", + "parameterTypes": [ + + ] + } + ] + } +] diff --git a/metadata/org.bouncycastle/bcpkix-jdk15to18/index.json b/metadata/org.bouncycastle/bcpkix-jdk15to18/index.json new file mode 100644 index 000000000..92e355295 --- /dev/null +++ b/metadata/org.bouncycastle/bcpkix-jdk15to18/index.json @@ -0,0 +1,10 @@ +[ + { + "latest": true, + "metadata-version": "1.77", + "module": "org.bouncycastle:bcpkix-jdk15to18", + "tested-versions": [ + "1.77" + ] + } +] diff --git a/tests/src/index.json b/tests/src/index.json index ba4578878..28fab7657 100644 --- a/tests/src/index.json +++ b/tests/src/index.json @@ -35,11 +35,11 @@ "versions" : [ "2.15.2" ] } ] }, { - "test-project-path" : "com.github.ben-manes.caffeine/caffeine/2.9.3", - "libraries" : [ { - "name" : "com.github.ben-manes.caffeine:caffeine", - "versions" : [ "2.9.3" ] - } ] + "test-project-path" : "com.github.ben-manes.caffeine/caffeine/2.9.3", + "libraries" : [ { + "name" : "com.github.ben-manes.caffeine:caffeine", + "versions" : [ "2.9.3" ] + } ] }, { "test-project-path" : "com.github.ben-manes.caffeine/caffeine/3.1.2", "libraries" : [ { @@ -274,7 +274,7 @@ "name" : "org.apache.kafka:kafka-streams", "versions" : [ "3.5.1" ] } ] -},{ +}, { "test-project-path" : "org.apache.tomcat.embed/tomcat-embed-core/10.0.20", "libraries" : [ { "name" : "org.apache.tomcat.embed:tomcat-embed-core", @@ -292,6 +292,12 @@ "name" : "org.bouncycastle:bcpkix-jdk15on", "versions" : [ "1.70" ] } ] +}, { + "test-project-path" : "org.bouncycastle/bcpkix-jdk15to18/1.77", + "libraries" : [ { + "name" : "org.bouncycastle:bcpkix-jdk15to18", + "versions" : [ "1.77" ] + } ] }, { "test-project-path" : "org.eclipse.angus/jakarta.mail/1.0.0", "libraries" : [ { @@ -311,11 +317,11 @@ "versions" : [ "11.0.12" ] } ] }, { - "test-project-path" : "org.eclipse.jetty/jetty-server/12.0.1", - "libraries" : [ { - "name" : "org.eclipse.jetty:jetty-server", - "versions" : [ "12.0.1" ] - } ] + "test-project-path" : "org.eclipse.jetty/jetty-server/12.0.1", + "libraries" : [ { + "name" : "org.eclipse.jetty:jetty-server", + "versions" : [ "12.0.1" ] + } ] }, { "test-project-path" : "org.eclipse.jgit/org.eclipse.jgit/6.5.0.202303070854-r", "libraries" : [ { @@ -532,4 +538,4 @@ "name" : "samples:docker", "versions" : [ "image-pull" ] } ] -} ] +} ] \ No newline at end of file diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/.gitignore b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/.gitignore new file mode 100644 index 000000000..c98c7875b --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/.gitignore @@ -0,0 +1,4 @@ +gradlew.bat +gradlew +gradle/ +build/ diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/build.gradle b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/build.gradle new file mode 100644 index 000000000..b50ce2643 --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/build.gradle @@ -0,0 +1,29 @@ +/* + * Copyright and related rights waived via CC0 + * + * You should have received a copy of the CC0 legalcode along with this + * work. If not, see . + */ + +plugins { + id "org.graalvm.internal.tck" +} + +String libraryVersion = tck.testedLibraryVersion.get() + +dependencies { + testImplementation "org.bouncycastle:bcpkix-jdk15to18:$libraryVersion" + testImplementation 'org.assertj:assertj-core:3.22.0' +} + +graalvmNative { + agent { + defaultMode = "conditional" + modes { + conditional { + userCodeFilterPath = "metadata-user-code-filter.json" + extraFilterPath = "metadata-extra-filter.json" + } + } + } +} diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/gradle.properties b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/gradle.properties new file mode 100644 index 000000000..c5edeaa9d --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/gradle.properties @@ -0,0 +1,2 @@ +library.version = 1.77 +metadata.dir = org.bouncycastle/bcpkix-jdk15to18/1.77/ diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/metadata-extra-filter.json b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/metadata-extra-filter.json new file mode 100644 index 000000000..c6ad58a4c --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/metadata-extra-filter.json @@ -0,0 +1,5 @@ +{ + "rules": [ + {"includeClasses": "org.bouncycastle.**"} + ] +} diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/metadata-user-code-filter.json b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/metadata-user-code-filter.json new file mode 100644 index 000000000..c6ad58a4c --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/metadata-user-code-filter.json @@ -0,0 +1,5 @@ +{ + "rules": [ + {"includeClasses": "org.bouncycastle.**"} + ] +} diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/settings.gradle b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/settings.gradle new file mode 100644 index 000000000..7fecd7df8 --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/settings.gradle @@ -0,0 +1,13 @@ +pluginManagement { + def tckPath = Objects.requireNonNullElse( + System.getenv("GVM_TCK_TCKDIR"), + "../../../../tck-build-logic" + ) + includeBuild(tckPath) +} + +plugins { + id "org.graalvm.internal.tck-settings" version "1.0.0-SNAPSHOT" +} + +rootProject.name = 'org.bouncycastle.bcpkix-jdk15to18_tests' diff --git a/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/src/test/java/org_bouncycastle/bcpkix_jdk15to18/BouncyCastleTest.java b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/src/test/java/org_bouncycastle/bcpkix_jdk15to18/BouncyCastleTest.java new file mode 100644 index 000000000..a02918c9f --- /dev/null +++ b/tests/src/org.bouncycastle/bcpkix-jdk15to18/1.77/src/test/java/org_bouncycastle/bcpkix_jdk15to18/BouncyCastleTest.java @@ -0,0 +1,125 @@ +/* + * Copyright and related rights waived via CC0 + * + * You should have received a copy of the CC0 legalcode along with this + * work. If not, see . + */ +package org_bouncycastle.bcpkix_jdk15to18; + +import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; +import org.bouncycastle.asn1.x500.X500Name; +import org.bouncycastle.cert.X509CertificateHolder; +import org.bouncycastle.cert.X509v3CertificateBuilder; +import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter; +import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.openssl.PEMKeyPair; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; +import org.bouncycastle.operator.ContentSigner; +import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder; +import org.bouncycastle.util.io.pem.PemObject; +import org.bouncycastle.util.io.pem.PemWriter; +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.math.BigInteger; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.PrivateKey; +import java.security.Provider; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; +import java.util.Date; + +import static org.assertj.core.api.Assertions.assertThat; + +class BouncyCastleTest { + + private final Provider provider = new BouncyCastleProvider(); + + @Test + void testX509Certificate() throws Exception { + KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", provider); + keyPairGenerator.initialize(4096, new SecureRandom()); + KeyPair keyPair = keyPairGenerator.generateKeyPair(); + + JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder("SHA256WithRSAEncryption"); + ContentSigner contentSigner = contentSignerBuilder.build(keyPair.getPrivate()); + + X509v3CertificateBuilder certificateBuilder = new JcaX509v3CertificateBuilder( + new X500Name("CN=issuer.com"), + BigInteger.valueOf(123), + new Date(), + new Date(System.currentTimeMillis() + 86400000), // 24 * 60 * 60 * 1000 + new X500Name("CN=subject.com"), + keyPair.getPublic()); + + X509CertificateHolder certificateHolder = certificateBuilder.build(contentSigner); + + JcaX509CertificateConverter certificateConverter = new JcaX509CertificateConverter(); + X509Certificate certificate = certificateConverter.setProvider(provider).getCertificate(certificateHolder); + + certificate.verify(keyPair.getPublic()); + + assertThat(certificate.getIssuerX500Principal().getName()).isEqualTo("CN=issuer.com"); + assertThat(certificate.getSubjectX500Principal().getName()).isEqualTo("CN=subject.com"); + assertThat(certificate.getSerialNumber().intValue()).isEqualTo(123); + } + + @Test + void testReadWritePrivatePemPKCS1() throws Exception { + testReadWritePrivatePem(true); + } + + @Test + void testReadWritePrivatePemPKCS8() throws Exception { + testReadWritePrivatePem(false); + } + + private void testReadWritePrivatePem(boolean isPKCS1) throws Exception { + KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", provider); + keyPairGenerator.initialize(4096, new SecureRandom()); + KeyPair generatedKeyPair = keyPairGenerator.generateKeyPair(); + + String pemType = PEMParser.TYPE_PRIVATE_KEY; + byte[] privateKeyBytes = generatedKeyPair.getPrivate().getEncoded(); + if (isPKCS1) { + pemType = PEMParser.TYPE_RSA_PRIVATE_KEY; + privateKeyBytes = PrivateKeyInfo.getInstance(privateKeyBytes).parsePrivateKey().toASN1Primitive().getEncoded(); + } + + PemObject pemObject = new PemObject(pemType, privateKeyBytes); + + ByteArrayOutputStream bytesOutputStream = new ByteArrayOutputStream(); + try (PemWriter pemWriter = new PemWriter(new OutputStreamWriter(bytesOutputStream))) { + pemWriter.writeObject(pemObject); + } + + String privatePem = bytesOutputStream.toString(); + if (isPKCS1) { + assertThat(privatePem).startsWith("-----BEGIN RSA PRIVATE KEY-----"); + } else { + assertThat(privatePem).startsWith("-----BEGIN PRIVATE KEY-----"); + } + + Object keyObject; + try (PEMParser pemParser = new PEMParser(new InputStreamReader(new ByteArrayInputStream(bytesOutputStream.toByteArray())))) { + keyObject = pemParser.readObject(); + } + + JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter().setProvider(provider); + + PrivateKey privateKey; + if (isPKCS1) { + privateKey = keyConverter.getKeyPair((PEMKeyPair) keyObject).getPrivate(); + } else { + privateKey = keyConverter.getPrivateKey((PrivateKeyInfo) keyObject); + } + + assertThat(privateKey.toString()).startsWith("RSA Private CRT Key"); + } +}