diff --git a/base/ca/src/main/java/org/dogtagpki/server/ca/cli/CARangeGeneratorCLI.java b/base/ca/src/main/java/org/dogtagpki/server/ca/cli/CARangeGeneratorCLI.java index 124988adb06..fd5085a5fdf 100644 --- a/base/ca/src/main/java/org/dogtagpki/server/ca/cli/CARangeGeneratorCLI.java +++ b/base/ca/src/main/java/org/dogtagpki/server/ca/cli/CARangeGeneratorCLI.java @@ -10,7 +10,7 @@ /** * @author Marco Fargetta {@literal } */ -public class CARangeGeneratorCLI extends CLI{ +public class CARangeGeneratorCLI extends CLI { public CARangeGeneratorCLI(CLI parent) { super("generator", "CA range generator commands", parent); diff --git a/base/kra/src/main/java/com/netscape/cmscore/dbs/KeyRepository.java b/base/kra/src/main/java/com/netscape/cmscore/dbs/KeyRepository.java index 9340b91659e..48d869025b7 100644 --- a/base/kra/src/main/java/com/netscape/cmscore/dbs/KeyRepository.java +++ b/base/kra/src/main/java/com/netscape/cmscore/dbs/KeyRepository.java @@ -45,7 +45,7 @@ public class KeyRepository extends Repository { public static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(KeyRepository.class); public static final String PROP_KEY_ID_GENERATOR = "key.id.generator"; - public static final String PROP_CERT_ID_RADIX = "key.id.radix"; + public static final String PROP_KEY_ID_RADIX = "key.id.radix"; public static final String DEFAULT_KEY_ID_GENERATOR = "legacy"; public static final String PROP_KEY_ID_LENGTH = "key.id.length"; @@ -66,7 +66,7 @@ public KeyRepository( super(dbSubsystem, HEX); DatabaseConfig dbc = dbSubsystem.getDBConfigStore(); try { - this.mRadix = dbc.getInteger(PROP_CERT_ID_RADIX, HEX); + this.mRadix = dbc.getInteger(PROP_KEY_ID_RADIX, HEX); logger.debug("KeyRepository: number radix {}", this.mRadix); } catch (EBaseException ex) { diff --git a/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeCLI.java b/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeCLI.java index b8e28aae04b..0a4b9f707cb 100644 --- a/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeCLI.java +++ b/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeCLI.java @@ -16,5 +16,6 @@ public KRARangeCLI(CLI parent) { super("range", "KRA range management commands", parent); addModule(new KRARangeUpdateCLI(this)); + addModule(new KRARangeGeneratorCLI(this)); } } diff --git a/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeGeneratorCLI.java b/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeGeneratorCLI.java new file mode 100644 index 00000000000..6a611b526e8 --- /dev/null +++ b/base/kra/src/main/java/org/dogtagpki/server/kra/cli/KRARangeGeneratorCLI.java @@ -0,0 +1,18 @@ +// +// Copyright Red Hat, Inc. +// +// SPDX-License-Identifier: GPL-2.0-or-later +// +package org.dogtagpki.server.kra.cli; + +import org.dogtagpki.cli.CLI; +/** + * @author Marco Fargetta {@literal } + */ +public class KRARangeGeneratorCLI extends CLI { + public KRARangeGeneratorCLI(CLI parent) { + super("generator", "kra range generator commands", parent); + + addModule(new kraRangeGeneratorUpdateCLI(this)); + } +} diff --git a/base/kra/src/main/java/org/dogtagpki/server/kra/cli/kraRangeGeneratorUpdateCLI.java b/base/kra/src/main/java/org/dogtagpki/server/kra/cli/kraRangeGeneratorUpdateCLI.java new file mode 100644 index 00000000000..163458071d4 --- /dev/null +++ b/base/kra/src/main/java/org/dogtagpki/server/kra/cli/kraRangeGeneratorUpdateCLI.java @@ -0,0 +1,45 @@ +// +// Copyright Red Hat, Inc. +// +// SPDX-License-Identifier: GPL-2.0-or-later +// +package org.dogtagpki.server.kra.cli; + +import com.netscape.cmscore.apps.DatabaseConfig; +import com.netscape.cmscore.dbs.KeyRepository; +import com.netscape.cmscore.dbs.Repository; +import com.netscape.cmscore.ldapconn.LdapAuthInfo; +import com.netscape.cmscore.ldapconn.LdapConnInfo; +import com.netscape.cmscore.ldapconn.PKISocketFactory; +import org.dogtagpki.cli.CLI; +import org.dogtagpki.server.cli.SubsystemRangeGeneratorUpdateCLI; + +/** + * + * @author mfargetta + */ +public class kraRangeGeneratorUpdateCLI extends SubsystemRangeGeneratorUpdateCLI { + + public kraRangeGeneratorUpdateCLI(CLI parent) { + super(parent); + } + + @Override + protected void updateSerialNumberRangeGenerator(PKISocketFactory socketFactory, LdapConnInfo connInfo, + LdapAuthInfo authInfo, DatabaseConfig dbConfig, String baseDN, Repository.IDGenerator newGenerator, String hostName, String securePort) throws Exception { + String value = dbConfig.getString( + KeyRepository.PROP_KEY_ID_GENERATOR, + KeyRepository.DEFAULT_KEY_ID_GENERATOR); + idGenerator = Repository.IDGenerator.fromString(value); + + if (newGenerator == Repository.IDGenerator.RANDOM && idGenerator != Repository.IDGenerator.RANDOM) { + dbConfig.put(KeyRepository.PROP_KEY_ID_GENERATOR, newGenerator.toString()); + dbConfig.put(KeyRepository.PROP_KEY_ID_LENGTH, "128"); + } + if (newGenerator == Repository.IDGenerator.LEGACY_2 && idGenerator == Repository.IDGenerator.LEGACY) { + dbConfig.put(KeyRepository.PROP_KEY_ID_GENERATOR, newGenerator.toString()); + } + + super.updateSerialNumberRangeGenerator(socketFactory, connInfo, authInfo, dbConfig, baseDN, newGenerator, hostName, securePort); + } +}