Skip to content

Commit 405086a

Browse files
committed
updated providers to 1.84
added kdf place holders (relates to github #2222) minor refactoring of KDF support.
1 parent 08e172b commit 405086a

13 files changed

Lines changed: 138 additions & 89 deletions

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.bouncycastle.jcajce.provider.kdf;
2+
3+
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
4+
import org.bouncycastle.jcajce.provider.util.AlgorithmProvider;
5+
6+
public class HKDF
7+
{
8+
private static final String PREFIX = "org.bouncycastle.jcajce.provider.kdf" + ".hkdf.";
9+
10+
public static class Mappings
11+
extends AlgorithmProvider
12+
{
13+
public Mappings()
14+
{
15+
}
16+
17+
public void configure(ConfigurableProvider provider)
18+
{
19+
// place holder for Java 25.
20+
}
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.bouncycastle.jcajce.provider.kdf;
2+
3+
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
4+
import org.bouncycastle.jcajce.provider.util.AlgorithmProvider;
5+
6+
public class PBEPBKDF2
7+
{
8+
private static final String PREFIX = "org.bouncycastle.jcajce.provider.kdf" + ".pbkdf2.";
9+
10+
public static class Mappings
11+
extends AlgorithmProvider
12+
{
13+
public Mappings()
14+
{
15+
}
16+
17+
public void configure(ConfigurableProvider provider)
18+
{
19+
// place holder for Java 25.
20+
}
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.bouncycastle.jcajce.provider.kdf;
2+
3+
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
4+
import org.bouncycastle.jcajce.provider.util.AlgorithmProvider;
5+
6+
public class SCRYPT
7+
{
8+
private static final String PREFIX = "org.bouncycastle.jcajce.provider.kdf" + ".scrypt.";
9+
10+
public static class Mappings
11+
extends AlgorithmProvider
12+
{
13+
public Mappings()
14+
{
15+
}
16+
17+
public void configure(ConfigurableProvider provider)
18+
{
19+
// place holder for Java 25.
20+
}
21+
}
22+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.bouncycastle.jcajce.provider.kdf.hkdf;
2+
3+
// for Java 25
4+
class Marker
5+
{
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.bouncycastle.jcajce.provider.kdf.pbkdf2;
2+
3+
// for Java 25
4+
class Marker
5+
{
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.bouncycastle.jcajce.provider.kdf.scrypt;
2+
3+
// for Java 25
4+
class Marker
5+
{
6+
}

prov/src/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public final class BouncyCastleProvider extends Provider
7878
{
7979
private static final Logger LOG = Logger.getLogger(BouncyCastleProvider.class.getName());
8080

81-
private static String info = "BouncyCastle Security Provider v1.83";
81+
private static String info = "BouncyCastle Security Provider v1.84";
8282

8383
public static final String PROVIDER_NAME = "BC";
8484

@@ -169,7 +169,7 @@ public final class BouncyCastleProvider extends Provider
169169
private static final String KDF_PACKAGE = "org.bouncycastle.jcajce.provider.kdf.";
170170
private static final String[] KDFS =
171171
{
172-
"HKDF", "PBEPBKDF2", "SCRYPT"
172+
"HKDF", "PBKDF2", "SCRYPT"
173173
};
174174

175175

@@ -183,7 +183,7 @@ public final class BouncyCastleProvider extends Provider
183183
*/
184184
public BouncyCastleProvider()
185185
{
186-
super(PROVIDER_NAME, 1.8300, info);
186+
super(PROVIDER_NAME, 1.8400, info);
187187

188188
AccessController.doPrivileged(new PrivilegedAction()
189189
{

prov/src/main/java/org/bouncycastle/pqc/jcajce/provider/BouncyCastlePQCProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class BouncyCastlePQCProvider
2222
extends Provider
2323
implements ConfigurableProvider
2424
{
25-
private static String info = "BouncyCastle Post-Quantum Security Provider v1.83";
25+
private static String info = "BouncyCastle Post-Quantum Security Provider v1.84";
2626

2727
public static String PROVIDER_NAME = "BCPQC";
2828

@@ -52,7 +52,7 @@ public class BouncyCastlePQCProvider
5252
*/
5353
public BouncyCastlePQCProvider()
5454
{
55-
super(PROVIDER_NAME, 1.83, info);
55+
super(PROVIDER_NAME, 1.84, info);
5656

5757
AccessController.doPrivileged(new PrivilegedAction()
5858
{

prov/src/main/jdk1.9/module-info.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@
9292
exports org.bouncycastle.jcajce.provider.config;
9393
exports org.bouncycastle.jcajce.provider.digest;
9494
exports org.bouncycastle.jcajce.provider.drbg;
95+
exports org.bouncycastle.jcajce.provider.kdf;
96+
exports org.bouncycastle.jcajce.provider.kdf.hkdf;
97+
exports org.bouncycastle.jcajce.provider.kdf.pbkdf2;
98+
exports org.bouncycastle.jcajce.provider.kdf.scrypt;
9599
exports org.bouncycastle.jcajce.provider.keystore;
96100
exports org.bouncycastle.jcajce.provider.keystore.bc;
97101
exports org.bouncycastle.jcajce.provider.keystore.bcfks;

prov/src/main/jdk25/org/bouncycastle/jcajce/provider/kdf/HKDF.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,27 @@
22

33
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
44
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
5+
import org.bouncycastle.jcajce.provider.util.AlgorithmProvider;
56

67
public class HKDF
78
{
89
private static final String PREFIX = "org.bouncycastle.jcajce.provider.kdf" + ".hkdf.";
910

1011
public static class Mappings
11-
extends KDFAlgorithmProvider
12+
extends AlgorithmProvider
1213
{
1314
public Mappings()
1415
{
1516
}
1617

1718
public void configure(ConfigurableProvider provider)
1819
{
19-
/*
20-
* TODO Would need HKDFSpi to be public, have a constructor from KDFParameters, and have some way to
21-
* decide which digest to use.
22-
*/
23-
// addKDFAlgorithm(provider, "HKDF", PREFIX + "HKDFSpi");
24-
25-
addKDFAlgorithm(provider, "HKDF-SHA256", PREFIX + "HKDFSpi$HKDFwithSHA256",
26-
PKCSObjectIdentifiers.id_alg_hkdf_with_sha256);
27-
addKDFAlgorithm(provider, "HKDF-SHA384", PREFIX + "HKDFSpi$HKDFwithSHA384",
28-
PKCSObjectIdentifiers.id_alg_hkdf_with_sha384);
29-
addKDFAlgorithm(provider, "HKDF-SHA512", PREFIX + "HKDFSpi$HKDFwithSHA512",
30-
PKCSObjectIdentifiers.id_alg_hkdf_with_sha512);
20+
provider.addAlgorithm("KDF.HKDF-SHA256", PREFIX + "HKDFSpi$HKDFwithSHA256");
21+
provider.addAlgorithm("KDF.HKDF-SHA384", PREFIX + "HKDFSpi$HKDFwithSHA384");
22+
provider.addAlgorithm("KDF.HKDF-SHA512", PREFIX + "HKDFSpi$HKDFwithSHA512");
23+
provider.addAlgorithm("KDF", PKCSObjectIdentifiers.id_alg_hkdf_with_sha256, PREFIX + "HKDFSpi$HKDFwithSHA256");
24+
provider.addAlgorithm("KDF", PKCSObjectIdentifiers.id_alg_hkdf_with_sha384, PREFIX + "HKDFSpi$HKDFwithSHA384");
25+
provider.addAlgorithm("KDF", PKCSObjectIdentifiers.id_alg_hkdf_with_sha512, PREFIX + "HKDFSpi$HKDFwithSHA512");
3126
}
3227
}
3328
}

0 commit comments

Comments
 (0)