mockserver
mockserver copied to clipboard
Support BouncyCastle FIPS library
Describe the feature request
Currently mockserver uses bcprov-jdk18on library, when using a client to communicate with mockserver, which usesbc-fips library , it crashes with :
2023-07-06 22:43:16 java.lang.NoSuchFieldError: blake3_256
2023-07-06 22:43:16 at org.bouncycastle.jcajce.provider.digest.Blake3$Mappings.configure(Unknown Source)
2023-07-06 22:43:16 at org.bouncycastle.jce.provider.BouncyCastleProvider.loadServiceClass(BouncyCastleProvider.java:289)
2023-07-06 22:43:16 at org.bouncycastle.jce.provider.BouncyCastleProvider.loadAlgorithms(BouncyCastleProvider.java:256)
2023-07-06 22:43:16 at org.bouncycastle.jce.provider.BouncyCastleProvider.setup(BouncyCastleProvider.java:178)
2023-07-06 22:43:16 at org.bouncycastle.jce.provider.BouncyCastleProvider.access$000(BouncyCastleProvider.java:68)
2023-07-06 22:43:16 at org.bouncycastle.jce.provider.BouncyCastleProvider$1.run(BouncyCastleProvider.java:170)
2023-07-06 22:43:16 at java.base/java.security.AccessController.doPrivileged(Native Method)
2023-07-06 22:43:16 at org.bouncycastle.jce.provider.BouncyCastleProvider.<init>(BouncyCastleProvider.java:166)
2023-07-06 22:43:16 at org.mockserver.socket.tls.bouncycastle.BCKeyAndCertificateFactory.<clinit>(BCKeyAndCertificateFactory.java:55)
2023-07-06 22:43:16 at org.mockserver.socket.tls.KeyAndCertificateFactoryFactory.createKeyAndCertificateFactory(KeyAndCertificateFactoryFactory.java:27)
2023-07-06 22:43:16 at org.mockserver.socket.tls.NettySslContextFactory.<init>(NettySslContextFactory.java:79)
2023-07-06 22:43:16 at org.mockserver.client.MockServerClient.getNettyHttpClient(MockServerClient.java:341)
2023-07-06 22:43:16 at org.mockserver.client.MockServerClient.sendRequest(MockServerClient.java:392)
2023-07-06 22:43:16 at org.mockserver.client.MockServerClient.sendRequest(MockServerClient.java:428)
2023-07-06 22:43:16 at org.mockserver.client.MockServerClient.hasStarted(MockServerClient.java:583)
2023-07-06 22:43:16 at org.mockserver.client.MockServerClient.hasStarted(MockServerClient.java:575)
What you are trying to do
Currently only using bcprov-jdk* libraries work
The solution you'd like An option which library to use wether bc fips certified or regular.
Describe alternatives you've considered No alternative as of now.
Similar issue that was reported.
Thank you!
If you don't need to support TLS/SSL in your tests you can get away with:
static {
KeyAndCertificateFactoryFactory.setCustomKeyAndCertificateFactorySupplier((logger, isServerInstance, configuration) -> null);
}