summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/certsrv/apps/CMS.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/certsrv/apps/CMS.java')
-rw-r--r--pki/base/common/src/com/netscape/certsrv/apps/CMS.java1649
1 files changed, 0 insertions, 1649 deletions
diff --git a/pki/base/common/src/com/netscape/certsrv/apps/CMS.java b/pki/base/common/src/com/netscape/certsrv/apps/CMS.java
deleted file mode 100644
index 3a36c71bc..000000000
--- a/pki/base/common/src/com/netscape/certsrv/apps/CMS.java
+++ /dev/null
@@ -1,1649 +0,0 @@
-// --- BEGIN COPYRIGHT BLOCK ---
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// (C) 2007 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-package com.netscape.certsrv.apps;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.math.BigInteger;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateEncodingException;
-import java.security.cert.X509CRL;
-import java.security.cert.X509Certificate;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Locale;
-import java.util.Vector;
-
-import netscape.ldap.LDAPConnection;
-import netscape.ldap.LDAPException;
-import netscape.ldap.LDAPSSLSocketFactoryExt;
-import netscape.security.util.ObjectIdentifier;
-import netscape.security.x509.Extension;
-import netscape.security.x509.GeneralName;
-import netscape.security.x509.X509CertInfo;
-
-import org.mozilla.jss.CryptoManager.CertificateUsage;
-import org.mozilla.jss.util.PasswordCallback;
-
-import com.netscape.certsrv.acls.EACLsException;
-import com.netscape.certsrv.acls.IACL;
-import com.netscape.certsrv.authentication.IAuthSubsystem;
-import com.netscape.certsrv.authority.IAuthority;
-import com.netscape.certsrv.authorization.IAuthzSubsystem;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IArgBlock;
-import com.netscape.certsrv.base.ICRLPrettyPrint;
-import com.netscape.certsrv.base.ICertPrettyPrint;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.base.IExtPrettyPrint;
-import com.netscape.certsrv.base.IPrettyPrintFormat;
-import com.netscape.certsrv.base.ISecurityDomainSessionTable;
-import com.netscape.certsrv.base.ISubsystem;
-import com.netscape.certsrv.ca.ICRLIssuingPoint;
-import com.netscape.certsrv.ca.ICertificateAuthority;
-import com.netscape.certsrv.common.Constants;
-import com.netscape.certsrv.connector.IHttpConnection;
-import com.netscape.certsrv.connector.IPKIMessage;
-import com.netscape.certsrv.connector.IRemoteAuthority;
-import com.netscape.certsrv.connector.IRequestEncoder;
-import com.netscape.certsrv.connector.IResender;
-import com.netscape.certsrv.dbs.IDBSubsystem;
-import com.netscape.certsrv.dbs.crldb.ICRLIssuingPointRecord;
-import com.netscape.certsrv.dbs.repository.IRepositoryRecord;
-import com.netscape.certsrv.jobs.IJobsScheduler;
-import com.netscape.certsrv.kra.IKeyRecoveryAuthority;
-import com.netscape.certsrv.ldap.ELdapException;
-import com.netscape.certsrv.ldap.ILdapAuthInfo;
-import com.netscape.certsrv.ldap.ILdapConnFactory;
-import com.netscape.certsrv.ldap.ILdapConnInfo;
-import com.netscape.certsrv.logging.ILogSubsystem;
-import com.netscape.certsrv.logging.ILogger;
-import com.netscape.certsrv.notification.IEmailFormProcessor;
-import com.netscape.certsrv.notification.IEmailResolver;
-import com.netscape.certsrv.notification.IEmailResolverKeys;
-import com.netscape.certsrv.notification.IEmailTemplate;
-import com.netscape.certsrv.notification.IMailNotification;
-import com.netscape.certsrv.ocsp.IOCSPAuthority;
-import com.netscape.certsrv.password.IPasswordCheck;
-import com.netscape.certsrv.policy.IGeneralNameAsConstraintsConfig;
-import com.netscape.certsrv.policy.IGeneralNamesAsConstraintsConfig;
-import com.netscape.certsrv.policy.IGeneralNamesConfig;
-import com.netscape.certsrv.policy.ISubjAltNameConfig;
-import com.netscape.certsrv.profile.IProfileSubsystem;
-import com.netscape.certsrv.ra.IRegistrationAuthority;
-import com.netscape.certsrv.registry.IPluginRegistry;
-import com.netscape.certsrv.request.IRequest;
-import com.netscape.certsrv.security.ICryptoSubsystem;
-import com.netscape.certsrv.selftests.ISelfTestSubsystem;
-import com.netscape.certsrv.tks.ITKSAuthority;
-import com.netscape.certsrv.usrgrp.IUGSubsystem;
-import com.netscape.cmsutil.net.ISocketFactory;
-import com.netscape.cmsutil.password.IPasswordStore;
-
-/**
- * This represents the CMS server. Plugins can access other
- * public objects such as subsystems via this inteface.
- * This object also include a set of utility functions.
- *
- * This object does not include the actual implementation.
- * It acts as a public interface for plugins, and the
- * actual implementation is in the CMS engine
- * (com.netscape.cmscore.apps.CMSEngine) that implements
- * ICMSEngine interface.
- *
- * @version $Revision$, $Date$
- */
-public final class CMS {
-
- public static final int DEBUG_OBNOXIOUS = 10;
- public static final int DEBUG_VERBOSE = 5;
- public static final int DEBUG_INFORM = 1;
-
- private static final String CONFIG_FILE = "CS.cfg";
- private static ICMSEngine _engine = null;
-
- public static final String SUBSYSTEM_LOG = ILogSubsystem.ID;
- public static final String SUBSYSTEM_CRYPTO = ICryptoSubsystem.ID;
- public static final String SUBSYSTEM_DBS = IDBSubsystem.SUB_ID;
- public static final String SUBSYSTEM_CA = ICertificateAuthority.ID;
- public static final String SUBSYSTEM_RA = IRegistrationAuthority.ID;
- public static final String SUBSYSTEM_KRA = IKeyRecoveryAuthority.ID;
- public static final String SUBSYSTEM_OCSP = IOCSPAuthority.ID;
- public static final String SUBSYSTEM_TKS = ITKSAuthority.ID;
- public static final String SUBSYSTEM_UG = IUGSubsystem.ID;
- public static final String SUBSYSTEM_AUTH = IAuthSubsystem.ID;
- public static final String SUBSYSTEM_AUTHZ = IAuthzSubsystem.ID;
- public static final String SUBSYSTEM_REGISTRY = IPluginRegistry.ID;
- public static final String SUBSYSTEM_PROFILE = IProfileSubsystem.ID;
- public static final String SUBSYSTEM_JOBS = IJobsScheduler.ID;
- public static final String SUBSYSTEM_SELFTESTS = ISelfTestSubsystem.ID;
- public static final int PRE_OP_MODE = 0;
- public static final int RUNNING_MODE = 1;
-
- /**
- * Private constructor.
- *
- * @param engine CMS engine implementation
- */
- private CMS(ICMSEngine engine) {
- _engine = engine;
- }
-
- /**
- * This method is used for unit tests. It allows the underlying _engine
- * to be stubbed out.
- *
- * @param engine The stub engine to set, for testing.
- */
- public static void setCMSEngine(ICMSEngine engine) {
- _engine = engine;
- }
-
- /**
- * Gets this ID .
- *
- * @return CMS engine identifier
- */
- public static String getId() {
- return _engine.getId();
- }
-
- /**
- * Sets the identifier of this subsystem. Should never be called.
- * Returns error.
- *
- * @param id CMS engine identifier
- */
- public static void setId(String id) throws EBaseException {
- _engine.setId(id);
- }
-
- /**
- * Initialize all static, dynamic and final static subsystems.
- *
- * @param owner null
- * @param config main config store.
- * @exception EBaseException if any error occur in subsystems during
- * initialization.
- */
- public static void init(ISubsystem owner, IConfigStore config)
- throws EBaseException {
- _engine.init(owner, config);
- }
-
- public static void reinit(String id) throws EBaseException {
- _engine.reinit(id);
- }
-
- /**
- * Starts up all subsystems. subsystems must be initialized.
- *
- * @exception EBaseException if any subsystem fails to startup.
- */
- public static void startup() throws EBaseException {
- _engine.startup();
- }
-
- /**
- * Blocks all new incoming requests.
- */
- public static void disableRequests() {
- _engine.disableRequests();
- }
-
- /**
- * Terminates all requests that are currently in process.
- */
- public static void terminateRequests() {
- _engine.terminateRequests();
- }
-
- /**
- * Checks to ensure that all new incoming requests have been blocked.
- * This method is used for reentrancy protection.
- * <P>
- *
- * @return true or false
- */
- public static boolean areRequestsDisabled() {
- return _engine.areRequestsDisabled();
- }
-
- /**
- * Shuts down subsystems in backwards order
- * exceptions are ignored. process exists at end to force exit.
- */
- public static void shutdown() {
- _engine.shutdown();
- }
-
- /**
- * Shuts down subsystems in backwards order
- * exceptions are ignored. process exists at end to force exit.
- */
-
- public static void forceShutdown() {
-
- _engine.forceShutdown();
- }
-
- /**
- * mode = 0 (pre-operational)
- * mode = 1 (running)
- */
- public static void setCSState(int mode) {
- _engine.setCSState(mode);
- }
-
- public static int getCSState() {
- return _engine.getCSState();
- }
-
- public static boolean isPreOpMode() {
- return _engine.isPreOpMode();
- }
-
- public static boolean isRunningMode() {
- return _engine.isRunningMode();
- }
-
- /**
- * Is the server in running state. After server startup, the
- * server will be initialization state first. After the
- * initialization state, the server will be in the running
- * state.
- *
- * @return true if the server is in the running state
- */
- public static boolean isInRunningState() {
- return _engine.isInRunningState();
- }
-
- /**
- * Returns the logger of the current server. The logger can
- * be used to log critical informational or critical error
- * messages.
- *
- * @return logger
- */
- public static ILogger getLogger() {
- return _engine.getLogger();
- }
-
- /**
- * Returns the signed audit logger of the current server. This logger can
- * be used to log critical informational or critical error
- * messages.
- *
- * @return signed audit logger
- */
- public static ILogger getSignedAuditLogger() {
- return _engine.getSignedAuditLogger();
- }
-
- /**
- * Creates a repository record in the internal database.
- *
- * @return repository record
- */
- public static IRepositoryRecord createRepositoryRecord() {
- return _engine.createRepositoryRecord();
- }
-
- /**
- * Parse ACL resource attributes
- *
- * @param resACLs same format as the resourceACLs attribute:
- *
- * <PRE>
- * <resource name>:<permission1,permission2,...permissionn>:
- * <allow|deny> (<subset of the permission set>) <evaluator expression>
- * </PRE>
- * @exception EACLsException ACL related parsing errors for resACLs
- * @return an ACL instance built from the parsed resACLs
- */
- public static IACL parseACL(String resACLs) throws EACLsException {
- return _engine.parseACL(resACLs);
- }
-
- /**
- * Creates an issuing poing record.
- *
- * @return issuing record
- */
- public static ICRLIssuingPointRecord createCRLIssuingPointRecord(String id, BigInteger crlNumber, Long crlSize,
- Date thisUpdate, Date nextUpdate) {
- return _engine.createCRLIssuingPointRecord(id, crlNumber, crlSize, thisUpdate, nextUpdate);
- }
-
- /**
- * Retrieves the default CRL issuing point record name.
- *
- * @return CRL issuing point record name
- */
- public static String getCRLIssuingPointRecordName() {
- return _engine.getCRLIssuingPointRecordName();
- }
-
- /**
- * Retrieves the process id of this server.
- *
- * @return process id of the server
- */
- public static int getPID() {
- return _engine.getPID();
- }
-
- /**
- * Retrieves the instance roort path of this server.
- *
- * @return instance directory path name
- */
- public static String getInstanceDir() {
- return _engine.getInstanceDir();
- }
-
- /**
- * Returns a server wide system time. Plugins should call
- * this method to retrieve system time.
- *
- * @return current time
- */
- public static Date getCurrentDate() {
- if (_engine == null)
- return new Date();
- return _engine.getCurrentDate();
- }
-
- /**
- * Puts data of an byte array into the debug file.
- *
- * @param data byte array to be recorded in the debug file
- */
- public static void debug(byte data[]) {
- if (_engine != null)
- _engine.debug(data);
- }
-
- /**
- * Puts a message into the debug file.
- *
- * @param msg debugging message
- */
- public static void debug(String msg) {
- if (_engine != null)
- _engine.debug(msg);
- }
-
- /**
- * Puts a message into the debug file.
- *
- * @param level 0-10 (0 is less detail, 10 is more detail)
- * @param msg debugging message
- */
- public static void debug(int level, String msg) {
- if (_engine != null)
- _engine.debug(level, msg);
- }
-
- /**
- * Puts an exception into the debug file.
- *
- * @param e exception
- */
- public static void debug(Throwable e) {
- if (_engine != null)
- _engine.debug(e);
- }
-
- /**
- * Checks if the debug mode is on or not.
- *
- * @return true if debug mode is on
- */
- public static boolean debugOn() {
- if (_engine != null)
- return _engine.debugOn();
- return false;
- }
-
- /**
- * Puts the current stack trace in the debug file.
- */
- public static void debugStackTrace() {
- if (_engine != null)
- _engine.debugStackTrace();
- }
-
- /*
- * If debugging for the particular realm is enabled, output name/value
- * pair info to the debug file. This is useful to dump out what hidden
- * config variables the server is looking at, or what HTTP variables it
- * is expecting to find, or what database attributes it is looking for.
- * @param type indicates what the source of key/val is. For example,
- * this could be 'CS.cfg', or something else. In the debug
- * subsystem, there is a mechanism to filter this so only the types
- * you care about are listed
- * @param key the 'key' of the hashtable which is being accessed.
- * This could be the name of the config parameter, or the http param
- * name.
- * @param val the value of the parameter
- * @param default the default value if the param is not found
- */
-
- public static void traceHashKey(String type, String key) {
- if (_engine != null) {
- _engine.traceHashKey(type, key);
- }
- }
-
- public static void traceHashKey(String type, String key, String val) {
- if (_engine != null) {
- _engine.traceHashKey(type, key, val);
- }
- }
-
- public static void traceHashKey(String type, String key, String val, String def) {
- if (_engine != null) {
- _engine.traceHashKey(type, key, val, def);
- }
- }
-
- /**
- * Returns the names of all the registered subsystems.
- *
- * @return a list of string-based subsystem names
- */
- public static Enumeration<String> getSubsystemNames() {
- return _engine.getSubsystemNames();
- }
-
- public static byte[] getPKCS7(Locale locale, IRequest req) {
- return _engine.getPKCS7(locale, req);
- }
-
- /**
- * Returns all the registered subsystems.
- *
- * @return a list of ISubsystem-based subsystems
- */
- public static Enumeration<ISubsystem> getSubsystems() {
- return _engine.getSubsystems();
- }
-
- /**
- * Retrieves the registered subsytem with the given name.
- *
- * @param name subsystem name
- * @return subsystem of the given name
- */
- public static ISubsystem getSubsystem(String name) {
- return _engine.getSubsystem(name);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param msgID message id defined in UserMessages.properties
- * @return localized user message
- */
- public static String getUserMessage(String msgID) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(null /* from session context */, msgID);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param locale end-user locale
- * @param msgID message id defined in UserMessages.properties
- * @return localized user message
- */
- public static String getUserMessage(Locale locale, String msgID) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(locale, msgID);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param msgID message id defined in UserMessages.properties
- * @param p1 1st parameter
- * @return localized user message
- */
- public static String getUserMessage(String msgID, String p1) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(null /* from session context */, msgID, p1);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param locale end-user locale
- * @param msgID message id defined in UserMessages.properties
- * @param p1 1st parameter
- * @return localized user message
- */
- public static String getUserMessage(Locale locale, String msgID, String p1) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(locale, msgID, p1);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param msgID message id defined in UserMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @return localized user message
- */
- public static String getUserMessage(String msgID, String p1, String p2) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(null /* from session context */, msgID, p1, p2);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param locale end-user locale
- * @param msgID message id defined in UserMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @return localized user message
- */
- public static String getUserMessage(Locale locale, String msgID, String p1, String p2) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(locale, msgID, p1, p2);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param msgID message id defined in UserMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @return localized user message
- */
- public static String getUserMessage(String msgID, String p1, String p2, String p3) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(null /* from session context */, msgID, p1, p2, p3);
- }
-
- public static LDAPConnection getBoundConnection(String host, int port,
- int version, LDAPSSLSocketFactoryExt fac, String bindDN,
- String bindPW) throws LDAPException {
- return _engine.getBoundConnection(host, port, version, fac,
- bindDN, bindPW);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param locale end-user locale
- * @param msgID message id defined in UserMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @return localized user message
- */
- public static String getUserMessage(Locale locale, String msgID, String p1, String p2, String p3) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(locale, msgID, p1, p2, p3);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param msgID message id defined in UserMessages.properties
- * @param p an array of parameters
- * @return localized user message
- */
- public static String getUserMessage(String msgID, String p[]) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(null /* from session context */, msgID, p);
- }
-
- /**
- * Retrieves the localized user message from UserMessages.properties.
- *
- * @param locale end-user locale
- * @param msgID message id defined in UserMessages.properties
- * @param p an array of parameters
- * @return localized user message
- */
- public static String getUserMessage(Locale locale, String msgID, String p[]) {
- if (_engine == null)
- return msgID;
- return _engine.getUserMessage(locale, msgID, p);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @return localized log message
- */
- public static String getLogMessage(String msgID) {
- return _engine.getLogMessage(msgID);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p an array of parameters
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p[]) {
- return _engine.getLogMessage(msgID, p);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1) {
- return _engine.getLogMessage(msgID, p1);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2) {
- return _engine.getLogMessage(msgID, p1, p2);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3) {
- return _engine.getLogMessage(msgID, p1, p2, p3);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @param p4 4th parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3, String p4) {
- return _engine.getLogMessage(msgID, p1, p2, p3, p4);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @param p4 4th parameter
- * @param p5 5th parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3, String p4, String p5) {
- return _engine.getLogMessage(msgID, p1, p2, p3, p4, p5);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @param p4 4th parameter
- * @param p5 5th parameter
- * @param p6 6th parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3, String p4, String p5, String p6) {
- return _engine.getLogMessage(msgID, p1, p2, p3, p4, p5, p6);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @param p4 4th parameter
- * @param p5 5th parameter
- * @param p6 6th parameter
- * @param p7 7th parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3, String p4, String p5, String p6,
- String p7) {
- return _engine.getLogMessage(msgID, p1, p2, p3, p4, p5, p6, p7);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @param p4 4th parameter
- * @param p5 5th parameter
- * @param p6 6th parameter
- * @param p7 7th parameter
- * @param p8 8th parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3, String p4, String p5, String p6,
- String p7, String p8) {
- return _engine.getLogMessage(msgID, p1, p2, p3, p4, p5, p6, p7, p8);
- }
-
- /**
- * Retrieves the centralized log message from LogMessages.properties.
- *
- * @param msgID message id defined in LogMessages.properties
- * @param p1 1st parameter
- * @param p2 2nd parameter
- * @param p3 3rd parameter
- * @param p4 4th parameter
- * @param p5 5th parameter
- * @param p6 6th parameter
- * @param p7 7th parameter
- * @param p8 8th parameter
- * @param p9 9th parameter
- * @return localized log message
- */
- public static String getLogMessage(String msgID, String p1, String p2, String p3, String p4, String p5, String p6,
- String p7, String p8, String p9) {
- return _engine.getLogMessage(msgID, p1, p2, p3, p4, p5, p6, p7, p8, p9);
- }
-
- /**
- * Returns the main config store. It is a handle to CMS.cfg.
- *
- * @return configuration store
- */
- public static IConfigStore getConfigStore() {
- return _engine.getConfigStore();
- }
-
- /**
- * Retrieves time server started up.
- *
- * @return last startup time
- */
- public static long getStartupTime() {
- return _engine.getStartupTime();
- }
-
- /**
- * Retrieves the HTTP Connection for use with connector.
- *
- * @param authority remote authority
- * @param factory socket factory
- * @return http connection to the remote authority
- */
- public static IHttpConnection getHttpConnection(IRemoteAuthority authority,
- ISocketFactory factory) {
- return _engine.getHttpConnection(authority, factory);
- }
-
- /**
- * Retrieves the HTTP Connection for use with connector.
- *
- * @param authority remote authority
- * @param factory socket factory
- * @param timeout return error if connection cannot be established within
- * the timeout period
- * @return http connection to the remote authority
- */
- public static IHttpConnection getHttpConnection(IRemoteAuthority authority,
- ISocketFactory factory, int timeout) {
- return _engine.getHttpConnection(authority, factory, timeout);
- }
-
- /**
- * Retrieves the request sender for use with connector.
- *
- * @param authority local authority
- * @param nickname nickname of the client certificate
- * @param remote remote authority
- * @param interval timeout interval
- * @return resender
- */
- public static IResender getResender(IAuthority authority, String nickname,
- IRemoteAuthority remote, int interval) {
- return _engine.getResender(authority, nickname, remote, interval);
- }
-
- /**
- * Retrieves the nickname of the server's server certificate.
- *
- * @return nickname of the server certificate
- */
- public static String getServerCertNickname() {
- return _engine.getServerCertNickname();
- }
-
- /**
- * Sets the nickname of the server's server certificate.
- *
- * @param tokenName name of token where the certificate is located
- * @param nickName name of server certificate
- */
- public static void setServerCertNickname(String tokenName, String nickName) {
- _engine.setServerCertNickname(tokenName, nickName);
- }
-
- /**
- * Sets the nickname of the server's server certificate.
- *
- * @param newName new nickname of server certificate
- */
- public static void setServerCertNickname(String newName) {
- _engine.setServerCertNickname(newName);
- }
-
- /**
- * Retrieves the host name of the server's secure end entity service.
- *
- * @return host name of end-entity service
- */
- public static String getEEHost() {
- return _engine.getEEHost();
- }
-
- /**
- * Retrieves the host name of the server's non-secure end entity service.
- *
- * @return host name of end-entity non-secure service
- */
- public static String getEENonSSLHost() {
- return _engine.getEENonSSLHost();
- }
-
- /**
- * Retrieves the IP address of the server's non-secure end entity service.
- *
- * @return ip address of end-entity non-secure service
- */
- public static String getEENonSSLIP() {
- return _engine.getEENonSSLIP();
- }
-
- /**
- * Retrieves the port number of the server's non-secure end entity service.
- *
- * @return port of end-entity non-secure service
- */
- public static String getEENonSSLPort() {
- return _engine.getEENonSSLPort();
- }
-
- /**
- * Retrieves the host name of the server's secure end entity service.
- *
- * @return port of end-entity secure service
- */
- public static String getEESSLHost() {
- return _engine.getEESSLHost();
- }
-
- /**
- * Retrieves the host name of the server's secure end entity service.
- *
- * @return port of end-entity secure service
- */
- public static String getEEClientAuthSSLPort() {
- return _engine.getEEClientAuthSSLPort();
- }
-
- /**
- * Retrieves the IP address of the server's secure end entity service.
- *
- * @return ip address of end-entity secure service
- */
- public static String getEESSLIP() {
- return _engine.getEESSLIP();
- }
-
- /**
- * Retrieves the port number of the server's secure end entity service.
- *
- * @return port of end-entity secure service
- */
- public static String getEESSLPort() {
- return _engine.getEESSLPort();
- }
-
- /**
- * Retrieves the host name of the server's agent service.
- *
- * @return host name of agent service
- */
- public static String getAgentHost() {
- return _engine.getAgentHost();
- }
-
- /**
- * Retrieves the IP address of the server's agent service.
- *
- * @return ip address of agent service
- */
- public static String getAgentIP() {
- return _engine.getAgentIP();
- }
-
- /**
- * Retrieves the port number of the server's agent service.
- *
- * @return port of agent service
- */
- public static String getAgentPort() {
- return _engine.getAgentPort();
- }
-
- /**
- * Retrieves the host name of the server's administration service.
- *
- * @return host name of administration service
- */
- public static String getAdminHost() {
- return _engine.getAdminHost();
- }
-
- /**
- * Retrieves the IP address of the server's administration service.
- *
- * @return ip address of administration service
- */
- public static String getAdminIP() {
- return _engine.getAdminIP();
- }
-
- /**
- * Retrieves the port number of the server's administration service.
- *
- * @return port of administration service
- */
- public static String getAdminPort() {
- return _engine.getAdminPort();
- }
-
- /**
- * Creates a general name constraints.
- *
- * @param generalNameChoice type of general name
- * @param value general name string
- * @return general name object
- * @exception EBaseException failed to create general name constraint
- */
- public static GeneralName form_GeneralNameAsConstraints(String generalNameChoice, String value)
- throws EBaseException {
- return _engine.form_GeneralName(generalNameChoice, value);
- }
-
- /**
- * Creates a general name.
- *
- * @param generalNameChoice type of general name
- * @param value general name string
- * @return general name object
- * @exception EBaseException failed to create general name
- */
- public static GeneralName form_GeneralName(String generalNameChoice,
- String value) throws EBaseException {
- return _engine.form_GeneralName(generalNameChoice, value);
- }
-
- /**
- * Get default parameters for subject alt name configuration.
- *
- * @param name configuration name
- * @param params configuration parameters
- */
- public static void getSubjAltNameConfigDefaultParams(String name,
- Vector<String> params) {
- _engine.getSubjAltNameConfigDefaultParams(name, params);
- }
-
- /**
- * Get extended plugin info for subject alt name configuration.
- *
- * @param name configuration name
- * @param params configuration parameters
- */
- public static void getSubjAltNameConfigExtendedPluginInfo(String name,
- Vector<String> params) {
- _engine.getSubjAltNameConfigExtendedPluginInfo(name, params);
- }
-
- /**
- * Creates subject alt name configuration.
- *
- * @param name configuration name
- * @param config configuration store
- * @param isValueConfigured true if value is configured
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static ISubjAltNameConfig createSubjAltNameConfig(String name, IConfigStore config, boolean isValueConfigured)
- throws EBaseException {
- return _engine.createSubjAltNameConfig(
- name, config, isValueConfigured);
- }
-
- /**
- * Retrieves default general name configuration.
- *
- * @param name configuration name
- * @param isValueConfigured true if value is configured
- * @param params configuration parameters
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static void getGeneralNameConfigDefaultParams(String name,
- boolean isValueConfigured, Vector<String> params) {
- _engine.getGeneralNameConfigDefaultParams(name,
- isValueConfigured, params);
- }
-
- /**
- * Retrieves default general names configuration.
- *
- * @param name configuration name
- * @param isValueConfigured true if value is configured
- * @param params configuration parameters
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static void getGeneralNamesConfigDefaultParams(String name,
- boolean isValueConfigured, Vector<String> params) {
- _engine.getGeneralNamesConfigDefaultParams(name,
- isValueConfigured, params);
- }
-
- /**
- * Retrieves extended plugin info for general name configuration.
- *
- * @param name configuration name
- * @param isValueConfigured true if value is configured
- * @param info configuration parameters
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static void getGeneralNameConfigExtendedPluginInfo(String name,
- boolean isValueConfigured, Vector<String> info) {
- _engine.getGeneralNameConfigExtendedPluginInfo(name,
- isValueConfigured, info);
- }
-
- /**
- * Retrieves extended plugin info for general name configuration.
- *
- * @param name configuration name
- * @param isValueConfigured true if value is configured
- * @param info configuration parameters
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static void getGeneralNamesConfigExtendedPluginInfo(String name,
- boolean isValueConfigured, Vector<String> info) {
- _engine.getGeneralNamesConfigExtendedPluginInfo(name,
- isValueConfigured, info);
- }
-
- /**
- * Created general names configuration.
- *
- * @param name configuration name
- * @param config configuration store
- * @param isValueConfigured true if value is configured
- * @param isPolicyEnabled true if policy is enabled
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static IGeneralNamesConfig createGeneralNamesConfig(String name,
- IConfigStore config, boolean isValueConfigured,
- boolean isPolicyEnabled) throws EBaseException {
- return _engine.createGeneralNamesConfig(name, config, isValueConfigured,
- isPolicyEnabled);
- }
-
- /**
- * Created general name constraints configuration.
- *
- * @param name configuration name
- * @param config configuration store
- * @param isValueConfigured true if value is configured
- * @param isPolicyEnabled true if policy is enabled
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static IGeneralNameAsConstraintsConfig createGeneralNameAsConstraintsConfig(String name,
- IConfigStore config, boolean isValueConfigured,
- boolean isPolicyEnabled) throws EBaseException {
- return _engine.createGeneralNameAsConstraintsConfig(
- name, config, isValueConfigured, isPolicyEnabled);
- }
-
- /**
- * Created general name constraints configuration.
- *
- * @param name configuration name
- * @param config configuration store
- * @param isValueConfigured true if value is configured
- * @param isPolicyEnabled true if policy is enabled
- * @exception EBaseException failed to create subject alt name configuration
- */
- public static IGeneralNamesAsConstraintsConfig createGeneralNamesAsConstraintsConfig(String name,
- IConfigStore config, boolean isValueConfigured,
- boolean isPolicyEnabled) throws EBaseException {
- return _engine.createGeneralNamesAsConstraintsConfig(
- name, config, isValueConfigured, isPolicyEnabled);
- }
-
- /**
- * Returns the finger print of the given certificate.
- *
- * @param cert certificate
- * @return finger print of certificate
- */
- public static String getFingerPrint(Certificate cert)
- throws CertificateEncodingException, NoSuchAlgorithmException {
- return _engine.getFingerPrint(cert);
- }
-
- /**
- * Returns the finger print of the given certificate.
- *
- * @param certDer DER byte array of the certificate
- * @return finger print of certificate
- */
- public static String getFingerPrints(byte[] certDer)
- throws NoSuchAlgorithmException {
- return _engine.getFingerPrints(certDer);
- }
-
- /**
- * Returns the finger print of the given certificate.
- *
- * @param cert certificate
- * @return finger print of certificate
- */
- public static String getFingerPrints(Certificate cert)
- throws NoSuchAlgorithmException, CertificateEncodingException {
- return _engine.getFingerPrints(cert);
- }
-
- /**
- * Creates a HTTP PKI Message that can be sent to a remote
- * authority.
- *
- * @return a new PKI Message for remote authority
- */
- public static IPKIMessage getHttpPKIMessage() {
- return _engine.getHttpPKIMessage();
- }
-
- /**
- * Creates a request encoder. A request cannot be sent to
- * the remote authority in its regular format.
- *
- * @return a request encoder
- */
- public static IRequestEncoder getHttpRequestEncoder() {
- return _engine.getHttpRequestEncoder();
- }
-
- /**
- * Converts a BER-encoded byte array into a MIME-64 encoded string.
- *
- * @param data data in byte array format
- * @return base-64 encoding for the data
- */
- public static String BtoA(byte data[]) {
- return _engine.BtoA(data);
- }
-
- /**
- * Converts a MIME-64 encoded string into a BER-encoded byte array.
- *
- * @param data base-64 encoding for the data
- * @return data data in byte array format
- */
- public static byte[] AtoB(String data) {
- return _engine.AtoB(data);
- }
-
- /**
- * Retrieves the ldap connection information from the configuration
- * store.
- *
- * @param config configuration parameters of ldap connection
- * @return a LDAP connection info
- */
- public static ILdapConnInfo getLdapConnInfo(IConfigStore config)
- throws EBaseException, ELdapException {
- return _engine.getLdapConnInfo(config);
- }
-
- /**
- * Creates a LDAP SSL socket with the given nickname. The
- * certificate associated with the nickname will be used
- * for client authentication.
- *
- * @param certNickname nickname of client certificate
- * @return LDAP SSL socket factory
- */
- public static LDAPSSLSocketFactoryExt getLdapJssSSLSocketFactory(
- String certNickname) {
- return _engine.getLdapJssSSLSocketFactory(certNickname);
- }
-
- /**
- * Creates a LDAP SSL socket.
- *
- * @return LDAP SSL socket factory
- */
- public static LDAPSSLSocketFactoryExt getLdapJssSSLSocketFactory() {
- return _engine.getLdapJssSSLSocketFactory();
- }
-
- /**
- * Creates a LDAP Auth Info object.
- *
- * @return LDAP authentication info
- */
- public static ILdapAuthInfo getLdapAuthInfo() {
- return _engine.getLdapAuthInfo();
- }
-
- /**
- * Retrieves the LDAP connection factory.
- *
- * @return bound LDAP connection pool
- */
- public static ILdapConnFactory getLdapBoundConnFactory()
- throws ELdapException {
- return _engine.getLdapBoundConnFactory();
- }
-
- /**
- * Retrieves the LDAP connection factory.
- *
- * @return anonymous LDAP connection pool
- */
- public static ILdapConnFactory getLdapAnonConnFactory()
- throws ELdapException {
- return _engine.getLdapAnonConnFactory();
- }
-
- /**
- * Retrieves the default X.509 certificate template.
- *
- * @return default certificate template
- */
- public static X509CertInfo getDefaultX509CertInfo() {
- return _engine.getDefaultX509CertInfo();
- }
-
- /**
- * Retrieves the certifcate in MIME-64 encoded format
- * with header and footer.
- *
- * @param cert certificate
- * @return base-64 format certificate
- */
- public static String getEncodedCert(X509Certificate cert) {
- return _engine.getEncodedCert(cert);
- }
-
- /**
- * Verifies all system certs
- * with tags defined in <subsystemtype>.cert.list
- */
- public static boolean verifySystemCerts() {
- return _engine.verifySystemCerts();
- }
-
- /**
- * Verify a system cert by tag name
- * with tags defined in <subsystemtype>.cert.list
- */
- public static boolean verifySystemCertByTag(String tag) {
- return _engine.verifySystemCertByTag(tag);
- }
-
- /**
- * Verify a system cert by certificate nickname
- */
- public static boolean verifySystemCertByNickname(String nickname, String certificateUsage) {
- return _engine.verifySystemCertByNickname(nickname, certificateUsage);
- }
-
- /**
- * get the CertificateUsage as defined in JSS CryptoManager
- */
- public static CertificateUsage getCertificateUsage(String certusage) {
- return _engine.getCertificateUsage(certusage);
- }
-
- /**
- * Checks if the given certificate is a signing certificate.
- *
- * @param cert certificate
- * @return true if the given certificate is a signing certificate
- */
- public static boolean isSigningCert(X509Certificate cert) {
- return _engine.isSigningCert(cert);
- }
-
- /**
- * Checks if the given certificate is an encryption certificate.
- *
- * @param cert certificate
- * @return true if the given certificate is an encryption certificate
- */
- public static boolean isEncryptionCert(X509Certificate cert) {
- return _engine.isEncryptionCert(cert);
- }
-
- /**
- * Retrieves the email form processor.
- *
- * @return email form processor
- */
- public static IEmailFormProcessor getEmailFormProcessor() {
- return _engine.getEmailFormProcessor();
- }
-
- /**
- * Retrieves the email form template.
- *
- * @return email template
- */
- public static IEmailTemplate getEmailTemplate(String path) {
- return _engine.getEmailTemplate(path);
- }
-
- /**
- * Retrieves the email notification handler.
- *
- * @return email notification
- */
- public static IMailNotification getMailNotification() {
- return _engine.getMailNotification();
- }
-
- /**
- * Retrieves the email key resolver.
- *
- * @return email key resolver
- */
- public static IEmailResolverKeys getEmailResolverKeys() {
- return _engine.getEmailResolverKeys();
- }
-
- /**
- * Checks if the given OID is valid.
- *
- * @param attrName attribute name
- * @param value attribute value
- * @return object identifier of the given attrName
- */
- public static ObjectIdentifier checkOID(String attrName, String value)
- throws EBaseException {
- return _engine.checkOID(attrName, value);
- }
-
- /**
- * Retrieves the email resolver that checks for subjectAlternateName.
- *
- * @return email key resolver
- */
- public static IEmailResolver getReqCertSANameEmailResolver() {
- return _engine.getReqCertSANameEmailResolver();
- }
-
- /**
- * Retrieves the extension pretty print handler.
- *
- * @param e extension
- * @param indent indentation
- * @return extension pretty print handler
- */
- public static IExtPrettyPrint getExtPrettyPrint(Extension e, int indent) {
- return _engine.getExtPrettyPrint(e, indent);
- }
-
- /**
- * Retrieves the certificate pretty print handler.
- *
- * @param delimiter delimiter
- * @return certificate pretty print handler
- */
- public static IPrettyPrintFormat getPrettyPrintFormat(String delimiter) {
- return _engine.getPrettyPrintFormat(delimiter);
- }
-
- /**
- * Retrieves the CRL pretty print handler.
- *
- * @param crl CRL
- * @return CRL pretty print handler
- */
- public static ICRLPrettyPrint getCRLPrettyPrint(X509CRL crl) {
- return _engine.getCRLPrettyPrint(crl);
- }
-
- /**
- * Retrieves the CRL cache pretty print handler.
- *
- * @param ip CRL issuing point
- * @return CRL pretty print handler
- */
- public static ICRLPrettyPrint getCRLCachePrettyPrint(ICRLIssuingPoint ip) {
- return _engine.getCRLCachePrettyPrint(ip);
- }
-
- /**
- * Retrieves the certificate pretty print handler.
- *
- * @param cert certificate
- * @return certificate pretty print handler
- */
- public static ICertPrettyPrint getCertPrettyPrint(X509Certificate cert) {
- return _engine.getCertPrettyPrint(cert);
- }
-
- public static String getConfigSDSessionId() {
- return _engine.getConfigSDSessionId();
- }
-
- public static void setConfigSDSessionId(String val) {
- _engine.setConfigSDSessionId(val);
- }
-
- /**
- * Retrieves the password check.
- *
- * @return default password checker
- */
- public static IPasswordCheck getPasswordChecker() {
- return _engine.getPasswordChecker();
- }
-
- /**
- * Puts a password entry into the single-sign on cache.
- *
- * @param tag password tag
- * @param pw password
- */
- public static void putPasswordCache(String tag, String pw) {
- _engine.putPasswordCache(tag, pw);
- }
-
- /**
- * Retrieves the password callback.
- *
- * @return default password callback
- */
- public static PasswordCallback getPasswordCallback() {
- return _engine.getPasswordCallback();
- }
-
- /**
- * Retrieves command queue
- *
- * @return command queue
- */
- public static ICommandQueue getCommandQueue() {
- return _engine.getCommandQueue();
- }
-
- /**
- * Loads the configuration file and starts CMS's core implementation.
- *
- * @param path path to configuration file (CMS.cfg)
- * @exception EBaseException failed to start CMS
- */
- public static void start(String path) throws EBaseException {
- //FileConfigStore mainConfig = null;
- /*
- try {
- mainConfig = new FileConfigStore(path);
- } catch (EBaseException e) {
- e.printStackTrace();
- System.out.println(
- "Error: The Server is not fully configured.\n" +
- "Finish configuring server using Configure Setup Wizard in " +
- "the Certificate Server Console.");
- System.out.println(e.toString());
- System.exit(0);
- }
- */
-
- String classname = "com.netscape.cmscore.apps.CMSEngine";
-
- try {
- ICMSEngine engine = (ICMSEngine)
- Class.forName(classname).newInstance();
-
- CMS.setCMSEngine(engine);
- IConfigStore mainConfig = createFileConfigStore(path);
- CMS.init(null, mainConfig);
- CMS.startup();
-
- } catch (EBaseException e) { // catch everything here purposely
- CMS.debug("CMS:Caught EBaseException");
- CMS.debug(e);
-
- // Raidzilla Bug #57592: Always print error message to stdout.
- System.out.println(e.toString());
-
- shutdown();
- throw e;
- } catch (Exception e) { // catch everything here purposely
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- PrintStream ps = new PrintStream(bos);
-
- e.printStackTrace(ps);
- System.out.println(Constants.SERVER_SHUTDOWN_MESSAGE);
- throw new EBaseException(bos.toString());
- // cms.shutdown();
- }
- }
-
- public static IConfigStore createFileConfigStore(String path) throws EBaseException {
- return _engine.createFileConfigStore(path);
- }
-
- public static IArgBlock createArgBlock() {
- return _engine.createArgBlock();
- }
-
- public static IArgBlock createArgBlock(String realm, Hashtable<String, String> httpReq) {
- return _engine.createArgBlock(realm, httpReq);
- }
-
- public static IArgBlock createArgBlock(Hashtable<String, String> httpReq) {
- return _engine.createArgBlock(httpReq);
- }
-
- public static boolean isRevoked(X509Certificate[] certificates) {
- return _engine.isRevoked(certificates);
- }
-
- public static void setListOfVerifiedCerts(int size, long interval, long unknownStateInterval) {
- _engine.setListOfVerifiedCerts(size, interval, unknownStateInterval);
- }
-
- public static IPasswordStore getPasswordStore() {
- return _engine.getPasswordStore();
- }
-
- public static ISecurityDomainSessionTable getSecurityDomainSessionTable() {
- return _engine.getSecurityDomainSessionTable();
- }
-
- /**
- * Main driver to start CMS.
- */
- public static void main(String[] args) {
- String path = CONFIG_FILE;
-
- for (int i = 0; i < args.length; i++) {
- String arg = args[i];
-
- if (arg.equals("-f")) {
- path = args[++i];
- } else {
- // ignore unknown arguments since we
- // have no real way to report them
- }
- }
- try {
- start(path);
- } catch (EBaseException e) {
- }
- }
-}