Skip to content

Commit 6f2b39a

Browse files
Add security provider earlier in bootstrap process (#5749)
Signed-off-by: Terry Quigley <[email protected]> Signed-off-by: Terry Quigley <[email protected]>
1 parent da520a0 commit 6f2b39a

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
2525
- [Resource Sharing] Make migrate api require default access level to be supplied and updates documentations + tests ([#5717](https://github.com/opensearch-project/security/pull/5717))
2626
- [Resource Sharing] Removes share and revoke java APIs ([#5718](https://github.com/opensearch-project/security/pull/5718))
2727
- Fix build failure in SecurityFilterTests ([#5736](https://github.com/opensearch-project/security/pull/5736))
28+
- Add security provider earlier in bootstrap process ([#5749](https://github.com/opensearch-project/security/pull/5749))
2829

2930
### Maintenance
3031
- Bump `org.junit.jupiter:junit-jupiter` from 5.13.4 to 5.14.0 ([#5678](https://github.com/opensearch-project/security/pull/5678))

src/main/java/org/opensearch/security/OpenSearchSecurityPlugin.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import java.security.AccessController;
3838
import java.security.MessageDigest;
3939
import java.security.PrivilegedAction;
40-
import java.security.Security;
4140
import java.util.ArrayList;
4241
import java.util.Arrays;
4342
import java.util.Collection;
@@ -65,7 +64,6 @@
6564
import org.apache.logging.log4j.Logger;
6665
import org.apache.lucene.search.QueryCachingPolicy;
6766
import org.apache.lucene.search.Weight;
68-
import org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider;
6967
import org.bouncycastle.util.encoders.Hex;
7068

7169
import org.opensearch.OpenSearchException;
@@ -434,8 +432,6 @@ public OpenSearchSecurityPlugin(final Settings settings, final Path configPath)
434432
demoCertHashes.add("ba9c5a61065f7f6115188128ffbdaa18fca34562b78b811f082439e2bef1d282"); // esnode-key
435433
demoCertHashes.add("bcd708e8dc707ae065f7ad8582979764b497f062e273d478054ab2f49c5469c6"); // root-ca
436434

437-
tryAddSecurityProvider();
438-
439435
final String advancedModulesEnabledKey = ConfigConstants.SECURITY_ADVANCED_MODULES_ENABLED;
440436
if (settings.hasValue(advancedModulesEnabledKey)) {
441437
deprecationLogger.deprecate("Setting {} is ignored.", advancedModulesEnabledKey);
@@ -2442,17 +2438,6 @@ public Optional<SecureSettingsFactory> getSecureSettingFactory(Settings settings
24422438
);
24432439
}
24442440

2445-
@SuppressWarnings("removal")
2446-
private void tryAddSecurityProvider() {
2447-
AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
2448-
if (Security.getProvider("BCFIPS") == null) {
2449-
Security.addProvider(new BouncyCastleFipsProvider());
2450-
log.debug("Bouncy Castle FIPS Provider added");
2451-
}
2452-
return null;
2453-
});
2454-
}
2455-
24562441
// CS-SUPPRESS-SINGLE: RegexpSingleline get Resource Sharing Extensions
24572442
@Override
24582443
public void loadExtensions(ExtensionLoader loader) {

src/main/java/org/opensearch/security/ssl/OpenSearchSecuritySSLPlugin.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.opensearch.security.ssl;
1919

2020
import java.nio.file.Path;
21+
import java.security.Security;
2122
import java.util.ArrayList;
2223
import java.util.Collection;
2324
import java.util.Collections;
@@ -32,6 +33,7 @@
3233
import com.fasterxml.jackson.databind.InjectableValues;
3334
import org.apache.logging.log4j.LogManager;
3435
import org.apache.logging.log4j.Logger;
36+
import org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider;
3537

3638
import org.opensearch.OpenSearchException;
3739
import org.opensearch.SpecialPermission;
@@ -231,6 +233,8 @@ protected OpenSearchSecuritySSLPlugin(final Settings settings, final Path config
231233
log.error("SSL not activated for http and/or transport.");
232234
}
233235

236+
tryAddSecurityProvider();
237+
234238
this.sslSettingsManager = new SslSettingsManager(new Environment(settings, configPath));
235239
}
236240

@@ -747,4 +751,14 @@ protected Settings migrateSettings(Settings settings) {
747751
public ThreadPool getThreadPool() {
748752
return this.threadPool;
749753
}
754+
755+
private void tryAddSecurityProvider() {
756+
AccessController.doPrivileged(() -> {
757+
if (Security.getProvider("BCFIPS") == null) {
758+
Security.addProvider(new BouncyCastleFipsProvider());
759+
log.debug("Bouncy Castle FIPS Provider added");
760+
}
761+
return null;
762+
});
763+
}
750764
}

0 commit comments

Comments
 (0)