From a9bbf17ba3b41d3940efaeb98caf4da2ef344f23 Mon Sep 17 00:00:00 2001
From: Yuriy Movchan <Yuriy.Movchan@gmail.com>
Date: Fri, 29 Jul 2022 16:57:31 +0000
Subject: [PATCH] Check if BC FIPS provider exists before loading it

---
 opendj-server-legacy/src/main/java/org/opends/server/util/CertificateManager.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/CertificateManager.java b/opendj-server-legacy/src/main/java/org/opends/server/util/CertificateManager.java
index dd453b0..4b10875 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/CertificateManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/CertificateManager.java
@@ -64,6 +64,11 @@
   public static final String KEY_STORE_TYPE_PKCS12 = "PKCS12";
 
   /**
+   * The key store type value that should be used for the "BCFKS" key store.
+   */
+  public static final String KEY_STORE_TYPE_BCFKS = "BCFKS";
+
+  /**
    * The key store path value that must be used in conjunction with the PKCS11
    * key store type.
    */
@@ -157,7 +162,7 @@
       }
     } else if (keyStoreType.equals(KEY_STORE_TYPE_JKS) ||
         keyStoreType.equals(KEY_STORE_TYPE_JCEKS) ||
-        keyStoreType.equals(KEY_STORE_TYPE_PKCS12)) {
+        keyStoreType.equals(KEY_STORE_TYPE_PKCS12) || keyStoreType.equals(KEY_STORE_TYPE_BCFKS)) {
       File keyStoreFile = new File(keyStorePath);
       if (keyStoreFile.exists()) {
         if (! keyStoreFile.isFile()) {
@@ -174,7 +179,7 @@
     } else {
       LocalizableMessage msg =  ERR_CERTMGR_INVALID_STORETYPE.get(
           KEY_STORE_TYPE_JKS, KEY_STORE_TYPE_JCEKS,
-          KEY_STORE_TYPE_PKCS11, KEY_STORE_TYPE_PKCS12);
+          KEY_STORE_TYPE_PKCS11, KEY_STORE_TYPE_PKCS12, KEY_STORE_TYPE_BCFKS);
       throw new IllegalArgumentException(msg.toString());
     }
     this.keyStorePath = keyStorePath;
@@ -377,7 +382,8 @@
       FileInputStream keyStoreInputStream = null;
       if (keyStoreType.equals(KEY_STORE_TYPE_JKS) ||
           keyStoreType.equals(KEY_STORE_TYPE_JCEKS) ||
-          keyStoreType.equals(KEY_STORE_TYPE_PKCS12))
+          keyStoreType.equals(KEY_STORE_TYPE_PKCS12) ||
+          keyStoreType.equals(KEY_STORE_TYPE_BCFKS))
       {
           final File keyStoreFile = new File(keyStorePath);
           if (! keyStoreFile.exists())

--
Gitblit v1.10.0