summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/com/netscape
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2015-10-20 23:54:22 +0200
committerEndi S. Dewata <edewata@redhat.com>2015-10-22 17:27:00 +0200
commit60fa66aa04ec61350420d95a554c0cec7834ebbd (patch)
tree15ae643137c1182a86ba7c5f24e47a07e23a2495 /base/server/cms/src/com/netscape
parentbb3329f19180df9935c8571563eab2f47e31c522 (diff)
Removed unused WizardServlet.
The unused configuration wizard servlet has been removed to simplify refactoring other codes. The remaining references in CertUtil and ConfigurationUtils have been removed as well. https://fedorahosted.org/pki/ticket/1120
Diffstat (limited to 'base/server/cms/src/com/netscape')
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/AdminPanel.java332
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthDBPanel.java125
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthenticatePanel.java192
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/BackupKeyCertPanel.java215
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/CertRequestPanel.java375
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java26
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigHSMLoginPanel.java296
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java59
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/CreateSubsystemPanel.java279
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/DatabasePanel.java532
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/DisplayCertChainPanel.java226
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/DonePanel.java313
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/HierarchyPanel.java194
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportAdminCertPanel.java340
-rwxr-xr-xbase/server/cms/src/com/netscape/cms/servlet/csadmin/ImportCAChainPanel.java145
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/ModulePanel.java338
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/NamePanel.java622
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/RestoreKeyCertPanel.java235
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/SavePKCS12Panel.java144
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/SecurityDomainPanel.java482
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/SizePanel.java491
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/WelcomePanel.java128
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/WizardPanelBase.java306
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/wizard/IWizardPanel.java111
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/wizard/WizardServlet.java489
25 files changed, 40 insertions, 6955 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/AdminPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/AdminPanel.java
deleted file mode 100644
index 579c54df0..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/AdminPanel.java
+++ /dev/null
@@ -1,332 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.base.ISubsystem;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.usrgrp.IUGSubsystem;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class AdminPanel extends WizardPanelBase {
-
- private static final String ADMIN_UID = "admin";
-
- public AdminPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Administrator");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id) {
- setPanelNo(panelno);
- setName("Administrator");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putString("preop.admin.email", "");
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.admin.email", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (Exception e) {
- }
-
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- Descriptor emailDesc = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "Email address for an administrator");
-
- set.add("admin_email", emailDesc);
-
- Descriptor pwdDesc = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "Administrator's password");
-
- set.add("pwd", pwdDesc);
-
- Descriptor pwdAgainDesc = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "Administrator's password again");
-
- set.add("admin_password_again", pwdAgainDesc);
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("AdminPanel: display");
-
- IConfigStore cs = CMS.getConfigStore();
- String session_id = request.getParameter("session_id");
- if (session_id != null) {
- CMS.debug("NamePanel setting session id.");
- CMS.setConfigSDSessionId(session_id);
- }
-
- String type = "";
- String info = "";
- context.put("import", "true");
-
- try {
- type = cs.getString("preop.ca.type", "");
- } catch (Exception e) {
- }
-
- if (isPanelDone()) {
- try {
- context.put("admin_email", cs.getString("preop.admin.email"));
- context.put("admin_name", cs.getString("preop.admin.name"));
- context.put("admin_pwd", "");
- context.put("admin_pwd_again", "");
- context.put("admin_uid", cs.getString("preop.admin.uid"));
- } catch (Exception e) {
- }
- } else {
- String def_admin_name = "";
- try {
- def_admin_name = cs.getString("cs.type") + " Administrator of Instance " + cs.getString("instanceId");
- } catch (EBaseException e) {
- }
- context.put("admin_name", def_admin_name);
- context.put("admin_email", "");
- context.put("admin_pwd", "");
- context.put("admin_pwd_again", "");
- context.put("admin_uid", ADMIN_UID);
- }
- ISubsystem ca = CMS.getSubsystem("ca");
-
- if (ca == null) {
- context.put("ca", "false");
- } else {
- context.put("ca", "true");
- }
- context.put("caType", type);
-
- String domainname = "";
- try {
- domainname = cs.getString("securitydomain.name", "");
- } catch (EBaseException e1) {
- }
- context.put("securityDomain", domainname);
- context.put("title", "Administrator");
- context.put("panel", "admin/console/config/adminpanel.vm");
- context.put("errorString", "");
- context.put("info", info);
-
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- String pwd = HttpInput.getPassword(request, "__pwd");
- String pwd_again = HttpInput.getPassword(request, "__admin_password_again");
- String email = HttpInput.getEmail(request, "email");
- String name = HttpInput.getName(request, "name");
- String uid = HttpInput.getUID(request, "uid");
- context.put("admin_email", email);
- context.put("admin_name", name);
- context.put("admin_pwd", pwd);
- context.put("admin_pwd_again", pwd_again);
- context.put("import", "true");
-
- if (name == null || name.equals("")) {
- context.put("updateStatus", "validate-failure");
- throw new IOException("Name is empty");
- }
-
- if (email == null || email.equals("")) {
- context.put("updateStatus", "validate-failure");
- throw new IOException("Email is empty");
- }
-
- if (uid == null || uid.equals("")) {
- context.put("updateStatus", "validate-failure");
- throw new IOException("Uid is empty");
- }
-
- if (!pwd.equals(pwd_again)) {
- context.put("updateStatus", "validate-failure");
- throw new IOException("Password and password again are not the same.");
- }
-
- if (email == null || email.length() == 0) {
- context.put("updateStatus", "validate-failure");
- throw new IOException("Email address is empty string.");
- }
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request, HttpServletResponse response, Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
- context.put("info", "");
- context.put("import", "true");
-
- String uid = HttpInput.getUID(request, "uid");
- String email = HttpInput.getEmail(request, "email");
- String name = HttpInput.getName(request, "name");
- String pwd = HttpInput.getPassword(request, "__pwd");
- String cert_request_type = HttpInput.getID(request, "cert_request_type");
- String subject = request.getParameter("subject");
- String cert_request = HttpInput.getCertRequest(request, "cert_request");
- String profileId = HttpInput.getID(request, "profileId");
-
- try {
- String type = config.getString(PRE_CA_TYPE, "");
- String subsystemtype = config.getString("cs.type", "");
- String selected_hierarchy = config.getString("preop.hierarchy.select", "");
-
- ISubsystem ca = CMS.getSubsystem("ca");
-
- if (ca == null) {
- context.put("ca", "false");
- } else {
- context.put("ca", "true");
- }
- context.put("caType", type);
-
- config.putString("preop.admin.uid", uid);
- config.putString("preop.admin.email", email);
- config.putString("preop.admin.name", name);
- ConfigurationUtils.createAdmin(uid, email, name, pwd);
-
- if (ca != null) {
- if (selected_hierarchy.equals("root")) {
- CMS.debug("AdminPanel update: " + "Root CA subsystem");
- } else {
- CMS.debug("AdminPanel update: " + "Subordinate CA subsystem");
- }
-
- ConfigurationUtils.createAdminCertificate(cert_request,
- cert_request_type, subject);
- } else {
- String ca_hostname = null;
- int ca_port = -1;
-
- CMS.debug("AdminPanel update: " + subsystemtype + " subsystem");
-
- if (type.equals("sdca")) {
- ca_hostname = config.getString("preop.ca.hostname");
- ca_port = config.getInteger("preop.ca.httpsport");
- } else {
- ca_hostname = config.getString("securitydomain.host", "");
- ca_port = config.getInteger("securitydomain.httpseeport");
- }
-
- ConfigurationUtils.submitAdminCertRequest(ca_hostname, ca_port,
- profileId, cert_request_type, cert_request, subject);
- }
-
- CMS.reinit(IUGSubsystem.ID);
- config.commit(false);
- } catch (Exception e) {
- CMS.debug("AdminPanel update(): Exception thrown " + e);
- e.printStackTrace();
- context.put("updateStatus", "failure");
- throw new IOException("Error when adding admin user" + e);
- }
-
- context.put("updateStatus", "success");
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- context.put("title", "Administrator");
- context.put("panel", "admin/console/config/adminpanel.vm");
- ISubsystem ca = CMS.getSubsystem("ca");
- IConfigStore cs = CMS.getConfigStore();
- String type = "";
- String info = "";
-
- try {
- type = cs.getString("preop.ca.type", "");
- } catch (Exception e) {
- }
- if (ca == null && type.equals("otherca")) {
- info =
- "Since you do not join the Redhat CA network, the administrator's certificate will not be generated automatically.";
- }
- context.put("info", info);
- context.put("admin_email", request.getParameter("email"));
- context.put("admin_name", request.getParameter("name"));
- context.put("admin_pwd", "");
- context.put("admin_pwd_again", "");
- context.put("admin_uid", request.getParameter("uid"));
- }
-
- public boolean shouldSkip() {
- try {
- IConfigStore c = CMS.getConfigStore();
- String s = c.getString("preop.subsystem.select", null);
- if (s != null && s.equals("clone")) {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthDBPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthDBPanel.java
deleted file mode 100644
index f7ee25dfe..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthDBPanel.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package com.netscape.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class AuthDBPanel extends WizardPanelBase {
-
- public AuthDBPanel() {
- }
-
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Authentication Directory");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Authentication Directory");
- setId(id);
- }
-
- public boolean shouldSkip() {
- return false;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putString("preop.authdb.select", "");
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.authdb.select", "");
- if (s != null && !s.isEmpty()) {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
- return set;
- }
-
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Authentication Directory");
- context.put("panel", "admin/console/config/authdbpanel.vm");
- IConfigStore config = CMS.getConfigStore();
-
- String basedn="";
- String host="";
- String port="";
- String secureConn="";
- try {
- String machineName = config.getString("service.machineName");
- basedn = config.getString("auths.instance.ldap1.ldap.basedn");
-
- if (basedn.contains("[")) {
- // basedn not yet set
- basedn = machineName.replaceAll("\\.", ",dc=");
- basedn = "dc=" + basedn;
- }
-
- host = config.getString("auths.instance.ldap1.ldap.ldapconn.host", "localhost");
- port = config.getString("auths.instance.ldap1.ldap.ldapconn.port","389");
- secureConn = config.getString("auths.instance.ldap1.ldap.ldapconn.secureConn", "false");
- } catch (EBaseException e) {
- e.printStackTrace();
- CMS.debug("Unable to get host, port, secureConn:" + e);
- }
-
- context.put("hostname", host);
- context.put("portStr", port);
- context.put("basedn", basedn);
- context.put("secureconn", secureConn);
- context.put("errorString", "");
- }
-
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
-
- String host = HttpInput.getHostname(request, "host");
- String port = HttpInput.getPortNumber(request, "port");
- String basedn = HttpInput.getString(request,"basedn");
- String secureConn = HttpInput.getString(request, "secureConn");
-
- if (secureConn == null || (!secureConn.equalsIgnoreCase("true"))) {
- secureConn = "false";
- }
- ConfigurationUtils.updateAuthdbInfo(basedn, host, port, secureConn);
- context.put("updateStatus", "success");
- }
-
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- }
-
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthenticatePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthenticatePanel.java
deleted file mode 100644
index 6700b9312..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/AuthenticatePanel.java
+++ /dev/null
@@ -1,192 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class AuthenticatePanel extends WizardPanelBase {
-
- public AuthenticatePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Authentication");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Authentication");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putString("preop.ca.agent.uid", "");
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.ca.agent.uid", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Authentication");
- IConfigStore config = CMS.getConfigStore();
-
- if (isPanelDone()) {
-
- try {
- String s = config.getString("preop.ca.agent.uid", "");
- String type = config.getString("preop.hierarchy.select", "");
- if (type.equals("root"))
- context.put("uid", "");
- else
- context.put("uid", s);
- } catch (Exception e) {
- CMS.debug(e.toString());
- }
- } else {
- context.put("uid", "");
- }
-
- context.put("password", "");
- context.put("panel", "admin/console/config/authenticatepanel.vm");
- context.put("errorString", "");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
- String type = "";
- String catype = "";
- try {
- type = config.getString("preop.hierarchy.select", "");
- catype = config.getString("preop.ca.type", "");
- } catch (Exception e) {
- }
-
- if (type.equals("root")) {
- CMS.debug("AuthenticatePanel: This is root, no need for authentication");
- } else if (catype.equals("sdca")) {
- CMS.debug("AuthenticatePanel: This is not external CA");
- String uid = HttpInput.getUID(request, "uid");
- if (uid == null) {
- context.put("errorString", "Uid is empty");
- throw new IOException("Uid is empty");
- }
- context.put("uid", uid);
- String pwd = HttpInput.getPassword(request, "__password");
- config.putString("preop.ca.agent.uid", uid);
- config.putString("preop.ca.agent.pwd", pwd);
- String host = "";
- int httpsport = -1;
- try {
- host = config.getString("preop.ca.hostname");
- } catch (Exception e) {
- CMS.debug("AuthenticatePanel update: " + e.toString());
- context.put("errorString", "Missing hostname");
- throw new IOException("Missing hostname");
- }
-
- try {
- httpsport = config.getInteger("preop.ca.httpsport");
- } catch (Exception e) {
- CMS.debug("AuthenticatePanel update: " + e.toString());
- context.put("errorString", "Missing port");
- throw new IOException("Missing port");
- }
-
- boolean authenticated = authenticate(host, httpsport, true,
- "/ca/ee/ca/configSubsystem", "uid=" + uid + "&pwd=" + pwd);
-
- if (!authenticated) {
- context.put("errorString", "Wrong user id or password");
- throw new IOException("Wrong user id or password");
- }
-
- try {
- config.commit(false);
- } catch (EBaseException e) {
- }
- }
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("password", "");
- context.put("panel", "admin/console/config/authenticatepanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/BackupKeyCertPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/BackupKeyCertPanel.java
deleted file mode 100644
index f29b22ae7..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/BackupKeyCertPanel.java
+++ /dev/null
@@ -1,215 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class BackupKeyCertPanel extends WizardPanelBase {
-
- public BackupKeyCertPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Export Keys and Certificates");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Export Keys and Certificates");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- /* clean up if necessary */
- try {
- @SuppressWarnings("unused")
- boolean done = cs.getBoolean("preop.backupkeycert.done"); // check for errors
- cs.putBoolean("preop.backupkeycert.done", false);
- cs.commit(false);
- } catch (Exception e) {
- }
- }
-
- public boolean shouldSkip() {
- IConfigStore cs = CMS.getConfigStore();
-
- try {
- String s = cs.getString("preop.module.token", "");
- if (s.equals("Internal Key Storage Token"))
- return false;
- } catch (Exception e) {
- }
-
- return true;
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.backupkeycert.done", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Export Keys and Certificates");
- IConfigStore config = CMS.getConfigStore();
-
- if (isPanelDone()) {
- try {
- boolean enable = config.getBoolean("preop.backupkeys.enable");
- if (enable) {
- context.put("dobackup", "checked");
- context.put("nobackup", "");
- } else {
- context.put("dobackup", "");
- context.put("nobackup", "checked");
- }
- } catch (Exception e) {
- }
- } else {
- context.put("dobackup", "");
- context.put("nobackup", "checked");
- }
-
- context.put("panel", "admin/console/config/backupkeycertpanel.vm");
- context.put("pwd", "");
- context.put("pwdagain", "");
- context.put("errorString", "");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response, Context context) throws IOException {
- String select = HttpInput.getID(request, "choice");
- if (select.equals("backupkey")) {
- String pwd = request.getParameter("__pwd");
- String pwdAgain = request.getParameter("__pwdagain");
- if (pwd == null || pwdAgain == null || pwd.equals("") || pwdAgain.equals("")) {
- CMS.debug("BackupKeyCertPanel validate: Password is null");
- context.put("updateStatus", "validate-failure");
- throw new IOException("PK12 password is empty.");
- }
-
- if (!pwd.equals(pwdAgain)) {
- CMS.debug("BackupKeyCertPanel validate: Password and password again are not the same.");
- context.put("updateStatus", "validate-failure");
- throw new IOException("PK12 password is different from the PK12 password again.");
- }
- }
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
-
- try {
- String select = HttpInput.getID(request, "choice");
- String pwd = request.getParameter("__pwd");
- if (select.equals("backupkey")) {
- CMS.debug("BackupKeyCertPanel update: backup");
- config.putBoolean("preop.backupkeys.enable", true);
- ConfigurationUtils.backupKeys(pwd, null);
- } else {
- CMS.debug("BackupKeyCertPanel update: no backup");
- config.putBoolean("preop.backupkeys.enable", false);
- }
-
- config.putBoolean("preop.backupkeycert.done", true);
- config.commit(false);
- } catch (Exception e) {
- CMS.debug("BackupKeyertPanel: update(): Exception thrown " + e);
- e.printStackTrace();
- context.put("updateStatus", "failure");
- throw new IOException(e);
- }
- context.put("updateStatus", "success");
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- String select = "";
- try {
- select = HttpInput.getID(request, "choice");
- } catch (Exception e) {
- }
-
- if (select.equals("backupkey")) {
- context.put("dobackup", "checked");
- context.put("nobackup", "");
- } else {
- context.put("dobackup", "");
- context.put("nobackup", "checked");
- }
-
- context.put("pwd", "");
- context.put("pwdagain", "");
- context.put("title", "Export Keys and Certificates");
- context.put("panel", "admin/console/config/backupkeycertpanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertRequestPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertRequestPanel.java
deleted file mode 100644
index 81c6e5ca3..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertRequestPanel.java
+++ /dev/null
@@ -1,375 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.math.BigInteger;
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import netscape.security.util.CertPrettyPrint;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.ca.ICertificateAuthority;
-import com.netscape.certsrv.dbs.certdb.ICertificateRepository;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.crypto.CryptoUtil;
-
-public class CertRequestPanel extends WizardPanelBase {
- private Vector<Cert> mCerts = null;
-
- @SuppressWarnings("unused")
- private WizardServlet mServlet;
-
- public CertRequestPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Requests & Certificates");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Requests and Certificates");
- mServlet = servlet;
- setId(id);
- }
-
- // XXX how do you do this? There could be multiple certs.
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- Descriptor certDesc = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameters */
- null);
-
- set.add("cert", certDesc);
-
- return set;
- }
-
- /**
- * Show "Apply" button on frame?
- */
- public boolean showApplyButton() {
- if (isPanelDone())
- return false;
- else
- return true;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- String list = "";
- String tokenname = "";
- try {
- list = cs.getString("preop.cert.list", "");
- tokenname = cs.getString("preop.module.token", "");
- } catch (Exception e) {
- }
-
- ICertificateAuthority ca = (ICertificateAuthority) CMS.getSubsystem(
- ICertificateAuthority.ID);
-
- if (ca != null) {
- CMS.debug("CertRequestPanel cleanup: get certificate repository");
- BigInteger beginS = null;
- BigInteger endS = null;
- String beginNum = "";
- String endNum = "";
- try {
- beginNum = cs.getString("dbs.beginSerialNumber", "");
- endNum = cs.getString("dbs.endSerialNumber", "");
- if (!beginNum.equals(""))
- beginS = new BigInteger(beginNum, 16);
- if (!endNum.equals(""))
- endS = new BigInteger(endNum, 16);
- } catch (Exception e) {
- }
-
- ICertificateRepository cr = ca.getCertificateRepository();
- if (cr != null) {
- try {
- cr.removeCertRecords(beginS, endS);
- } catch (Exception e) {
- CMS.debug("CertRequestPanel cleanUp exception in removing all objects: " + e.toString());
- }
-
- try {
- cr.resetSerialNumber(new BigInteger(beginNum, 16));
- } catch (Exception e) {
- CMS.debug("CertRequestPanel cleanUp exception in resetting serial number: " + e.toString());
- }
- }
- }
-
- StringTokenizer st = new StringTokenizer(list, ",");
- String nickname = "";
- boolean enable = false;
- while (st.hasMoreTokens()) {
- String t = st.nextToken();
-
- try {
- enable = cs.getBoolean(PCERT_PREFIX + t + ".enable", true);
- nickname = cs.getString(PCERT_PREFIX + t + ".nickname", "");
- } catch (Exception e) {
- }
-
- if (!enable)
- continue;
-
- if (t.equals("sslserver"))
- continue;
-
- try {
- if (ConfigurationUtils.findCertificate(tokenname, nickname)) {
- CMS.debug("CertRequestPanel cleanup: deleting certificate (" + nickname + ").");
- ConfigurationUtils.deleteCert(tokenname, nickname);
- }
- } catch (Exception e) {
- CMS.debug("CertRequestPanel cleanup: failed to delete certificate ("
- + nickname + "). Exception: " + e.toString());
- }
- }
-
- try {
- @SuppressWarnings("unused")
- boolean done = cs.getBoolean("preop.CertRequestPanel.done"); // check for errors
- cs.putBoolean("preop.CertRequestPanel.done", false);
- cs.commit(false);
- } catch (Exception e) {
- }
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- boolean s = cs.getBoolean("preop.CertRequestPanel.done",
- false);
-
- if (s != true) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- public void getCert(IConfigStore config,
- Context context, String certTag, Cert cert) {
- try {
-
- String subsystem = config.getString(PCERT_PREFIX + certTag + ".subsystem");
- String certs = config.getString(subsystem + "." + certTag + ".cert", "");
-
- if (cert != null) {
- String certf = certs;
-
- CMS.debug("CertRequestPanel getCert: certTag=" + certTag + " cert=" + certs);
-
- //get and set formated cert
- if (!certs.startsWith("...")) {
- certf = CryptoUtil.certFormat(certs);
- }
- cert.setCert(certf);
-
- //get and set cert pretty print
- byte[] certb = CryptoUtil.base64Decode(certs);
- CertPrettyPrint pp = new CertPrettyPrint(certb);
- cert.setCertpp(pp.toString(Locale.getDefault()));
- } else {
- CMS.debug("CertRequestPanel::getCert() - cert is null!");
- return;
- }
- String userfriendlyname = config.getString(
- PCERT_PREFIX + certTag + ".userfriendlyname");
-
- cert.setUserFriendlyName(userfriendlyname);
- String type = config.getString(PCERT_PREFIX + certTag + ".type");
-
- cert.setType(type);
- String dn = config.getString(PCERT_PREFIX + certTag + ".dn");
-
- cert.setDN(dn);
- } catch (Exception e) {
- CMS.debug("CertRequestPanel:getCert" + e.toString());
- } // try
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- CMS.debug("CertRequestPanel: display()");
- context.put("title", "Requests and Certificates");
-
- try {
- mCerts = new Vector<Cert>();
-
- IConfigStore config = CMS.getConfigStore();
-
- String certTags = config.getString("preop.cert.list");
- String csType = config.getString("cs.type");
- StringTokenizer st = new StringTokenizer(certTags, ",");
-
- while (st.hasMoreTokens()) {
- String certTag = st.nextToken();
-
- try {
- String subsystem = config.getString(PCERT_PREFIX + certTag + ".subsystem");
- String nickname = config.getString(subsystem + "." + certTag + ".nickname");
- String tokenname = config.getString(subsystem + "." + certTag + ".tokenname");
-
- Cert c = new Cert(tokenname, nickname, certTag);
- ConfigurationUtils.handleCertRequest(config, certTag, c);
-
- String type = config.getString(PCERT_PREFIX + certTag + ".type");
- c.setType(type);
-
- boolean enable = config.getBoolean(PCERT_PREFIX + certTag + ".enable", true);
- c.setEnable(enable);
- getCert(config, context, certTag, c);
-
- c.setSubsystem(subsystem);
- mCerts.addElement(c);
-
- if (csType.equals("TPS") && certTag.equals("subsystem")) {
- // update nicknames in case they have changed
- if (!tokenname.isEmpty() && !tokenname.equals("internal")
- && !tokenname.equals("Internal Key Storage Token"))
- nickname = tokenname + ":" + nickname;
-
- config.putString("conn.ca1.clientNickname", nickname);
- config.putString("conn.drm1.clientNickname", nickname);
- config.putString("conn.tks1.clientNickname", nickname);
- }
- } catch (Exception e) {
- CMS.debug("CertRequestPanel:display() Exception caught: " + e.toString() +
- " for certTag " + certTag);
- }
- }
- } catch (Exception e) {
- CMS.debug("CertRequestPanel:display() Exception caught: " + e.toString());
- System.err.println("Exception caught: " + e.toString());
-
- } // try
-
- context.put("reqscerts", mCerts);
- context.put("status", "display");
- // context.put("status_token", "None");
- context.put("panel", "admin/console/config/certrequestpanel.vm");
-
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- CMS.debug("CertRequestPanel: in update()");
- boolean hasErr = false;
- IConfigStore config = CMS.getConfigStore();
-
- if (isPanelDone()) {
- context.put("updateStatus", "success");
- return;
- }
-
- Enumeration<Cert> c = mCerts.elements();
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- if (hasErr) continue;
-
- int ret=0;
- try {
- cert.setCert(HttpInput.getCert(request, cert.getCertTag()));
- cert.setCertChain(HttpInput.getCertChain(request, cert.getCertTag() + "_cc"));
-
- ret = ConfigurationUtils.handleCerts(cert);
- ConfigurationUtils.setCertPermissions(cert.getCertTag());
- } catch (Exception e) {
- CMS.debug("Exception in configuring system certificate " + cert.getCertTag() + ": " + e);
- e.printStackTrace();
- hasErr = true;
- }
- if (ret != 0) {
- CMS.debug("System certificates not configured " + cert.getCertTag());
- }
- }
- // end new
-
- if (!hasErr) {
- try {
- config.putBoolean("preop.CertRequestPanel.done", true);
- config.commit(false);
- } catch (EBaseException e) {
- e.printStackTrace();
- CMS.debug("Unable to commit changes to CS,cfg: " +e);
- }
- context.put("updateStatus", "success");
- } else {
- context.put("updateStatus", "failure");
- }
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Certificate Request");
- context.put("panel", "admin/console/config/certrequestpanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java
index c0729d881..cb1c1a545 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java
@@ -29,14 +29,6 @@ import java.util.Set;
import javax.servlet.http.HttpServletResponse;
-import netscape.security.pkcs.PKCS10;
-import netscape.security.x509.CertificateExtensions;
-import netscape.security.x509.CertificateIssuerName;
-import netscape.security.x509.X500Name;
-import netscape.security.x509.X509CertImpl;
-import netscape.security.x509.X509CertInfo;
-import netscape.security.x509.X509Key;
-
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.velocity.context.Context;
@@ -68,11 +60,19 @@ import com.netscape.cmsutil.http.HttpResponse;
import com.netscape.cmsutil.http.JssSSLSocketFactory;
import com.netscape.cmsutil.xml.XMLObject;
+import netscape.security.pkcs.PKCS10;
+import netscape.security.x509.CertificateExtensions;
+import netscape.security.x509.CertificateIssuerName;
+import netscape.security.x509.X500Name;
+import netscape.security.x509.X509CertImpl;
+import netscape.security.x509.X509CertInfo;
+import netscape.security.x509.X509Key;
+
public class CertUtil {
static final int LINE_COUNT = 76;
public static X509CertImpl createRemoteCert(String hostname,
- int port, String content, HttpServletResponse response, WizardPanelBase panel)
+ int port, String content, HttpServletResponse response)
throws IOException {
HttpClient httpclient = new HttpClient();
String c = null;
@@ -114,11 +114,7 @@ public class CertUtil {
String status = parser.getValue("Status");
CMS.debug("CertUtil createRemoteCert: status=" + status);
- if (status.equals("2")) {
- //relogin to the security domain
- panel.reloginSecurityDomain(response);
- return null;
- } else if (!status.equals("0")) {
+ if (!status.equals("0")) {
String error = parser.getValue("Error");
throw new IOException(error);
}
@@ -206,7 +202,7 @@ public class CertUtil {
}
}
-
+
// Dynamically inject the SubjectAlternativeName extension to a
// local/self-signed master CA's request for its SSL Server Certificate.
//
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigHSMLoginPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigHSMLoginPanel.java
deleted file mode 100644
index 03233042c..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigHSMLoginPanel.java
+++ /dev/null
@@ -1,296 +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.cms.servlet.csadmin;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-import org.mozilla.jss.CryptoManager;
-import org.mozilla.jss.crypto.CryptoToken;
-import org.mozilla.jss.util.IncorrectPasswordException;
-import org.mozilla.jss.util.Password;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.password.PlainPasswordReader;
-import com.netscape.cmsutil.password.PlainPasswordWriter;
-
-public class ConfigHSMLoginPanel extends WizardPanelBase {
- private CryptoManager mCryptoManager = null;
- private String mPwdFilePath = "";
-
- public ConfigHSMLoginPanel() {
- }
-
- public void init(ServletConfig config, int panelno) throws ServletException {
- try {
- mCryptoManager = CryptoManager.getInstance();
- mPwdFilePath = CMS.getConfigStore().getString(
- "passwordFile");
- } catch (Exception e) {
- CMS.debug("ConfigHSMLoginPanel: " + e.toString());
- }
- setPanelNo(panelno);
- setName("ConfigHSMLogin");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id) throws ServletException {
- try {
- mCryptoManager = CryptoManager.getInstance();
- mPwdFilePath = CMS.getConfigStore().getString(
- "passwordFile");
- } catch (Exception e) {
- CMS.debug("ConfigHSMLoginPanel: " + e.toString());
- }
- setPanelNo(panelno);
- setName("ConfigHSMLogin");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- }
-
- public boolean isPanelDone() {
- return true;
- }
-
- public boolean isSubPanel() {
- return true;
- }
-
- public boolean isLoopbackPanel() {
- return true;
- }
-
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- CMS.debug("ConfigHSMLoginPanel: in display()");
- context.put("title", "Security Module Login");
-
- // get token selected to be logged in
- String tokName = null;
- tokName = HttpInput.getTokenName(request, "SecToken");
-
- if (tokName != null) {
- CMS.debug("ConfigHSMLoginPanel: selected token name= " + tokName);
- } else {
- CMS.debug("ConfigHSMLoginPanel: missing SecToken name");
- context.put("error", "noTokenName");
- context.put("panel", "admin/console/config/config_hsmloginpanel.vm");
- return;
- }
- CryptoToken token = null;
-
- try {
- token = mCryptoManager.getTokenByName(tokName);
- } catch (Exception e) {
- CMS.debug(
- "ConfigHSMLoginPanel: getTokenByName() failed: "
- + e.toString());
- context.put("error", "tokenNotFound:" + tokName);
- context.put("panel", "admin/console/config/config_hsmloginpanel.vm");
- return;
- }
- // first see if password in password file, try to login
- PlainPasswordReader pr = new PlainPasswordReader();
-
- try {
- pr.init(mPwdFilePath);
- } catch (Exception e) {
- // is ok to not have it
- CMS.debug("ConfigHSMLoginPanel: passwrd file path: " + e.toString());
- }
- CMS.debug("ConfigHSMLoginPanel: checking if passwd in cache");
- String tokPwd = pr.getPassword("hardware-" + tokName);
-
- boolean loggedIn = false;
-
- if (tokPwd == null) {
- CMS.debug("ConfigHSMLoginPanel: passwd not in cache");
- } else {
- loggedIn = loginToken(token, tokPwd, context);
- }
-
- if (!loggedIn) {
- context.put("status", "display");
- }
- context.put("panel", "admin/console/config/config_hsmloginpanel.vm");
- context.put("SecToken", tokName);
- }
-
- // if logged in successfully, returns true
- private boolean loginToken(CryptoToken token, String tokPwd, Context context) {
- boolean rv = true;
- Password password = null;
-
- password = new Password(tokPwd.toCharArray());
-
- try {
- if (token.passwordIsInitialized()) {
- CMS.debug(
- "ConfigHSMLoginPanel: loginToken():token password is initialized");
- if (!token.isLoggedIn()) {
- CMS.debug(
- "ConfigHSMLoginPanel: loginToken():Token is not logged in, try it");
- token.login(password);
- context.put("status", "justLoggedIn");
- } else {
- CMS.debug(
- "ConfigHSMLoginPanel:Token has already logged on");
- context.put("status", "alreadyLoggedIn");
- }
- } else {
- CMS.debug(
- "ConfigHSMLoginPanel: loginToken():Token password not initialized");
- context.put("status", "tokenPasswordNotInitialized");
- rv = false;
- }
-
- } catch (IncorrectPasswordException e) {
- context.put("status", "incorrectPassword");
- context.put("errorString", e.toString());
- CMS.debug("ConfigHSMLoginPanel: loginToken():" + e.toString());
- rv = false;
- } catch (Exception e) {
- CMS.debug("ConfigHSMLoginPanel: loginToken():" + e.toString());
- context.put("errorString", e.toString());
- rv = false;
- }
- return rv;
- }
-
- // XXX how do you do this?
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- Descriptor choiceDesc = new Descriptor(IDescriptor.CHOICE, "", "", null); /* no default parameters */
-
- set.add(
- "choice", choiceDesc);
-
- return set;
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- CMS.debug("ConfigHSMLoginPanel: in update()");
-
- String uTokName = null;
- String uPasswd = null;
- try {
- uTokName = HttpInput.getTokenName(request, "uTokName");
- uPasswd = HttpInput.getPassword(request, "__uPasswd");
- } catch (Exception e) {
- }
-
- if (uPasswd == null) {
- CMS.debug("ConfigHSMLoginPanel: password not found");
- context.put("error", "no password");
- context.put("panel", "admin/console/config/config_hsmloginpanel.vm");
- context.put("updateStatus", "no password");
- return;
- } else {
- CMS.debug("ConfigHSMLoginPanel: got password");
-
- CryptoToken token = null;
-
- try {
- token = mCryptoManager.getTokenByName(uTokName);
- } catch (Exception e) {
- CMS.debug(
- "ConfigHSMLoginPanel: getTokenByName() failed: "
- + e.toString());
- context.put("error", "tokenNotFound:" + uTokName);
- }
-
- try {
- if (loginToken(token, uPasswd, context) == false) {
- CMS.debug(
- "ConfigHSMLoginPanel:loginToken failed for "
- + uTokName);
- context.put("error", "tokenLoginFailed");
- context.put("updateStatus", "login failed");
- context.put("panel",
- "admin/console/config/config_hsmloginpanel.vm");
- return;
- }
- CMS.debug(
- "ConfigHSMLoginPanel: update(): just logged in successfully");
- PlainPasswordWriter pw = new PlainPasswordWriter();
-
- pw.init(mPwdFilePath);
- pw.putPassword("hardware-" + uTokName, uPasswd);
- pw.commit();
-
- } catch (FileNotFoundException e) {
- CMS.debug(
- "ConfigHSMLoginPanel: update(): Exception caught: "
- + e.toString() + " writing to " + mPwdFilePath);
- CMS.debug(
- "ConfigHSMLoginPanel: update(): password not written to cache");
- System.err.println("Exception caught: " + e.toString());
- context.put("error", "Exception:" + e.toString());
- } catch (Exception e) {
- CMS.debug(
- "ConfigHSMLoginPanel: update(): Exception caught: "
- + e.toString());
- System.err.println("Exception caught: " + e.toString());
- context.put("error", "Exception:" + e.toString());
- }
-
- } // found password
-
- context.put("panel", "admin/console/config/config_hsmloginpanel.vm");
- context.put("status", "update");
- context.put("error", "");
- context.put("updateStatus", "success");
-
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Security Module Login");
- context.put("panel", "admin/console/config/config_hsmloginpanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java
index d3302949f..5af32eed7 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java
@@ -183,8 +183,7 @@ import netscape.security.x509.X509CertImpl;
import netscape.security.x509.X509Key;
/**
- * Utility class for functions to be used both by the RESTful installer
- * and the UI Panels.
+ * Utility class for functions to be used by the RESTful installer.
*
* @author alee
*
@@ -1950,7 +1949,7 @@ public class ConfigurationUtils {
String suffix = cs.getString("internaldb.basedn", "");
String replicadn = "cn=replica,cn=\"" + suffix + "\",cn=mapping tree,cn=config";
- CMS.debug("DatabasePanel setupReplication: replicadn=" + replicadn);
+ CMS.debug("ConfigurationUtils: setupReplication: replicadn=" + replicadn);
String masterBindUser = "Replication Manager " + masterAgreementName;
String cloneBindUser = "Replication Manager " + cloneAgreementName;
@@ -2324,12 +2323,12 @@ public class ConfigurationUtils {
do {
if (ct.equals("sslserver") && sslType.equalsIgnoreCase("ECDH")) {
- CMS.debug("SizePanel: createECCKeypair: sslserver cert for ECDH. Make sure server.xml is set " +
+ CMS.debug("ConfigurationUtils: createECCKeypair: sslserver cert for ECDH. Make sure server.xml is set " +
"properly with -TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA");
pair = CryptoUtil.generateECCKeyPair(token, curveName, null, ECDH_usages_mask);
} else {
if (ct.equals("sslserver")) {
- CMS.debug("SizePanel: createECCKeypair: sslserver cert for ECDHE. Make sure server.xml is set " +
+ CMS.debug("ConfigurationUtils: createECCKeypair: sslserver cert for ECDHE. Make sure server.xml is set " +
"properly with +TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA");
}
pair = CryptoUtil.generateECCKeyPair(token, curveName, null, usages_mask);
@@ -2444,7 +2443,7 @@ public class ConfigurationUtils {
}
public static void configCert(HttpServletRequest request, HttpServletResponse response,
- Context context, Cert certObj, WizardPanelBase panel) throws IOException {
+ Context context, Cert certObj) throws IOException {
IConfigStore config = CMS.getConfigStore();
String caType = certObj.getType();
@@ -2527,7 +2526,7 @@ public class ConfigurationUtils {
+ "&cert_request_type=pkcs10&cert_request=" + URLEncoder.encode(pkcs10, "UTF-8")
+ "&xmlOutput=true&sessionID=" + session_id;
cert = CertUtil.createRemoteCert(sd_hostname, sd_ee_port,
- content, response, panel);
+ content, response);
if (cert == null) {
throw new IOException("Error: remote certificate is null");
}
@@ -2537,7 +2536,7 @@ public class ConfigurationUtils {
int ca_port = -1;
try {
if (sign_clone_sslserver_cert_using_master) {
- CMS.debug("NamePanel: For this Cloned CA, always use its Master CA to generate " +
+ CMS.debug("ConfigurationUtils: For this Cloned CA, always use its Master CA to generate " +
"the 'sslserver' certificate to avoid any changes which may have been " +
"made to the X500Name directory string encoding order.");
ca_hostname = config.getString("preop.master.hostname", "");
@@ -2566,7 +2565,7 @@ public class ConfigurationUtils {
+ "&xmlOutput=true&sessionID=" + session_id
+ sslserver_extension;
cert = CertUtil.createRemoteCert(ca_hostname, ca_port,
- content, response, panel);
+ content, response);
if (cert == null) {
throw new IOException("Error: remote certificate is null");
}
@@ -2589,7 +2588,7 @@ public class ConfigurationUtils {
config.putString(subsystem + "." + certTag + ".cert",
"...paste certificate here...");
} else {
- CMS.debug("NamePanel: no preop.ca.type is provided");
+ CMS.debug("ConfigurationUtils: no preop.ca.type is provided");
}
} else { // not remote CA, ie, self-signed or local
ISubsystem ca = CMS.getSubsystem(ICertificateAuthority.ID);
@@ -2699,9 +2698,9 @@ public class ConfigurationUtils {
String subsystem = config.getString(PCERT_PREFIX + certTag + ".subsystem");
String nickname = getNickname(config, certTag);
- CMS.debug("NamePanel: updateConfig() for certTag " + certTag);
+ CMS.debug("ConfigurationUtils: updateConfig() for certTag " + certTag);
if (certTag.equals("signing") || certTag.equals("ocsp_signing")) {
- CMS.debug("NamePanel: setting signing nickname=" + nickname);
+ CMS.debug("ConfigurationUtils: setting signing nickname=" + nickname);
config.putString(subsystem + "." + certTag + ".cacertnickname", nickname);
config.putString(subsystem + "." + certTag + ".certnickname", nickname);
}
@@ -2825,7 +2824,7 @@ public class ConfigurationUtils {
if (cstype.equals("kra")) {
String token = config.getString("preop.module.token");
if (!token.equals("Internal Key Storage Token")) {
- CMS.debug("NamePanel: updating configuration for KRA clone with hardware token");
+ CMS.debug("ConfigurationUtils: updating configuration for KRA clone with hardware token");
String subsystem = config.getString(PCERT_PREFIX + "storage.subsystem");
String storageNickname = getNickname(config, "storage");
String transportNickname = getNickname(config, "transport");
@@ -3056,7 +3055,7 @@ public class ConfigurationUtils {
deleteCert(tokenname, nickname);
}
} catch (Exception e) {
- CMS.debug("CertRequestPanel update (remote): deleteCert Exception=" + e.toString());
+ CMS.debug("ConfigurationUtils: update (remote): deleteCert Exception=" + e.toString());
}
b64 = CryptoUtil.stripCertBrackets(b64.trim());
@@ -3203,7 +3202,7 @@ public class ConfigurationUtils {
boolean done = cs.getBoolean("preop.CertRequestPanel.done"); // check for errors
} catch (Exception ee) {
if (hardware) {
- CMS.debug("CertRequestPanel findCertificate: The certificate with the same nickname: "
+ CMS.debug("ConfigurationUtils: findCertificate: The certificate with the same nickname: "
+ fullnickname + " has been found on HSM. Please remove it before proceeding.");
throw new IOException("The certificate with the same nickname: "
+ fullnickname + " has been found on HSM. Please remove it before proceeding.");
@@ -3509,7 +3508,7 @@ public class ConfigurationUtils {
system.addUser(user);
} catch (ConflictingOperationException e) {
- CMS.debug("AdminPanel createAdmin: addUser " + e.toString());
+ CMS.debug("ConfigurationUtils: createAdmin: addUser " + e.toString());
// ignore
}
@@ -3527,49 +3526,49 @@ public class ConfigurationUtils {
if (select.equals("new")) {
group = system.getGroupFromName("Security Domain Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Security Domain Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Security Domain Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
group = system.getGroupFromName("Enterprise CA Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Enterprise CA Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Enterprise CA Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
group = system.getGroupFromName("Enterprise KRA Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Enterprise KRA Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Enterprise KRA Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
group = system.getGroupFromName("Enterprise RA Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Enterprise RA Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Enterprise RA Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
group = system.getGroupFromName("Enterprise TKS Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Enterprise TKS Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Enterprise TKS Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
group = system.getGroupFromName("Enterprise OCSP Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Enterprise OCSP Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Enterprise OCSP Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
group = system.getGroupFromName("Enterprise TPS Administrators");
if (group != null && !group.isMember(uid)) {
- CMS.debug("AdminPanel createAdmin: add user '" + uid + "' to group 'Enterprise TPS Administrators'");
+ CMS.debug("ConfigurationUtils: createAdmin: add user '" + uid + "' to group 'Enterprise TPS Administrators'");
group.addMemberName(uid);
system.modifyGroup(group);
}
@@ -3783,7 +3782,7 @@ public class ConfigurationUtils {
public static void updateDomainXML(String hostname, int port, boolean https,
String servlet, String uri, boolean useClientAuth) throws IOException, EBaseException, SAXException,
ParserConfigurationException {
- CMS.debug("WizardPanelBase updateDomainXML start hostname=" + hostname + " port=" + port);
+ CMS.debug("ConfigurationUtils: updateDomainXML start hostname=" + hostname + " port=" + port);
String c = null;
if (useClientAuth) {
IConfigStore cs = CMS.getConfigStore();
@@ -3805,7 +3804,7 @@ public class ConfigurationUtils {
ByteArrayInputStream bis = new ByteArrayInputStream(c.getBytes());
XMLObject obj = new XMLObject(bis);
String status = obj.getValue("Status");
- CMS.debug("WizardPanelBase updateDomainXML: status=" + status);
+ CMS.debug("ConfigurationUtils: updateDomainXML: status=" + status);
if (status.equals(SUCCESS)) {
return;
@@ -4083,17 +4082,17 @@ public class ConfigurationUtils {
String c = getHttpResponse(cahost, caport, true, "/ca/ee/ca/updateOCSPConfig", content, null, null);
if (c == null || c.equals("")) {
- CMS.debug("WizardPanelBase updateOCSPConfig: content is null.");
+ CMS.debug("ConfigurationUtils: updateOCSPConfig: content is null.");
throw new IOException("The server you want to contact is not available");
} else {
ByteArrayInputStream bis = new ByteArrayInputStream(c.getBytes());
XMLObject parser = new XMLObject(bis);
String status = parser.getValue("Status");
- CMS.debug("WizardPanelBase updateOCSPConfig: status=" + status);
+ CMS.debug("ConfigurationUtils: updateOCSPConfig: status=" + status);
if (status.equals(SUCCESS)) {
- CMS.debug("WizardPanelBase updateOCSPConfig: Successfully update the OCSP configuration in the CA.");
+ CMS.debug("ConfigurationUtils: updateOCSPConfig: Successfully update the OCSP configuration in the CA.");
} else if (status.equals(AUTH_FAILURE)) {
throw new EAuthException(AUTH_FAILURE);
} else {
@@ -4319,12 +4318,12 @@ public class ConfigurationUtils {
nickname = tokenname + ":" + nickname;
}
- CMS.debug("DonePanel getSubsystemCert: nickname=" + nickname);
+ CMS.debug("ConfigurationUtils: getSubsystemCert: nickname=" + nickname);
CryptoManager cm = CryptoManager.getInstance();
org.mozilla.jss.crypto.X509Certificate cert = cm.findCertByNickname(nickname);
if (cert == null) {
- CMS.debug("DonePanel getSubsystemCert: subsystem cert is null");
+ CMS.debug("ConfigurationUtils: getSubsystemCert: subsystem cert is null");
return null;
}
byte[] bytes = cert.getEncoded();
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CreateSubsystemPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CreateSubsystemPanel.java
deleted file mode 100644
index 462e05455..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CreateSubsystemPanel.java
+++ /dev/null
@@ -1,279 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class CreateSubsystemPanel extends WizardPanelBase {
-
- public CreateSubsystemPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Subsystem Selection");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Subsystem Type");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putString("preop.subsystem.select", "");
- cs.putString("subsystem.select", "");
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.subsystem.select", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Subsystem Type");
- IConfigStore config = CMS.getConfigStore();
-
- try {
- String session_id = request.getParameter("session_id");
- if (session_id != null) {
- CMS.debug("CreateSubsystemPanel setting session id.");
- CMS.setConfigSDSessionId(session_id);
- }
-
- if (isPanelDone()) {
- String s = config.getString("preop.subsystem.select");
- if (s.equals("new")) {
- context.put("check_newsubsystem", "checked");
- context.put("check_clonesubsystem", "");
- } else if (s.equals("clone")) {
- context.put("check_newsubsystem", "");
- context.put("check_clonesubsystem", "checked");
- }
- context.put("subsystemName", config.getString("preop.subsystem.name"));
- } else {
- context.put("check_newsubsystem", "checked");
- context.put("check_clonesubsystem", "");
- context.put("subsystemName", config.getString("preop.system.fullname"));
- }
-
- String cstype = config.getString("cs.type", "");
- context.put("cstype", cstype);
- context.put("wizardname", config.getString("preop.wizard.name"));
- context.put("systemname", config.getString("preop.system.name"));
- context.put("fullsystemname", config.getString("preop.system.fullname"));
- context.put("machineName", config.getString("machineName"));
- context.put("http_port", CMS.getEENonSSLPort());
- context.put("https_agent_port", CMS.getAgentPort());
- context.put("https_ee_port", CMS.getEESSLPort());
- context.put("https_admin_port", CMS.getAdminPort());
-
- String domainType = config.getString("preop.securitydomain.select");
- Vector<String> v = null;
- if (!domainType.equals("new")) {
- try {
- v = ConfigurationUtils.getUrlListFromSecurityDomain(config, cstype, "SecurePort");
- } catch (Exception e) {
- // note: this is OK for a new master ca in a new domain
- CMS.debug("Exception thrown when obtaining URL List from security domain:" + e);
- e.printStackTrace();
- }
- }
-
- if (v == null) {
- v = new Vector<String>();
- }
-
- StringBuffer list = new StringBuffer();
- int size = v.size();
- for (int i = 0; i < size; i++) {
- if (i == size - 1) {
- list.append(v.elementAt(i));
- } else {
- list.append(v.elementAt(i));
- list.append(",");
- }
- }
-
- config.putString("preop.master.list", list.toString());
- config.commit(false);
-
- if (list.length() == 0)
- context.put("disableClone", "true");
-
- context.put("panel", "admin/console/config/createsubsystempanel.vm");
- context.put("urls", v);
- context.put("errorString", "");
- } catch (Exception e) {
- e.printStackTrace();
- context.put("errorString", e.toString());
- CMS.debug("CreateSubsystemPanel: Exception thrown: " + e);
- }
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
- String select = HttpInput.getID(request, "choice");
-
- if (select == null) {
- CMS.debug("CreateSubsystemPanel: choice not found");
- context.put("updateStatus", "failure");
- throw new IOException("choice not found");
- }
-
- try {
- String cstype = config.getString("cs.type", "");
- config.putString("preop.subsystem.name", HttpInput.getName(request, "subsystemName"));
-
- if (select.equals("newsubsystem")) {
- config.putString("preop.subsystem.select", "new");
- config.putString("subsystem.select", "New");
- } else if (select.equals("clonesubsystem")) {
- config.putString("preop.subsystem.select", "clone");
- config.putString("subsystem.select", "Clone");
-
- String lists = config.getString("preop.cert.list", "");
- StringTokenizer t = new StringTokenizer(lists, ",");
- while (t.hasMoreTokens()) {
- String tag = t.nextToken();
- if (tag.equals("sslserver"))
- config.putBoolean(PCERT_PREFIX + tag + ".enable", true);
- else
- config.putBoolean(PCERT_PREFIX + tag + ".enable", false);
- }
-
- // get the masterURL
- String index = request.getParameter("urls");
- String url = "";
-
- int x = Integer.parseInt(index);
- String list = config.getString("preop.master.list", "");
- StringTokenizer tokenizer = new StringTokenizer(list, ",");
- int counter = 0;
-
- while (tokenizer.hasMoreTokens()) {
- url = tokenizer.nextToken();
- if (counter == x) break;
- counter++;
- }
-
- url = url.substring(url.indexOf("http"));
-
- URL u = new URL(url);
- String host = u.getHost();
- int https_ee_port = u.getPort();
-
- String domainXML = config.getString("preop.domainXML");
-
- // check URI and update preop.master port entries
- boolean validUri = ConfigurationUtils.isValidCloneURI(domainXML, host, https_ee_port);
- if (!validUri) {
- throw new IOException("Invalid clone URI provided. Does not match the available subsystems in " +
- "the security domain");
- }
- if (cstype.equals("CA")) {
- int https_admin_port = ConfigurationUtils.getPortFromSecurityDomain(domainXML,
- host, https_ee_port, "CA", "SecurePort", "SecureAdminPort");
-
- ConfigurationUtils.importCertChain(host, https_admin_port, "/ca/admin/ca/getCertChain", "clone");
- }
- } else {
- CMS.debug("CreateSubsystemPanel: invalid choice " + select);
- context.put("updateStatus", "failure");
- throw new IOException("invalid choice " + select);
- }
-
- config.commit(false);
- } catch (Exception e) {
- CMS.debug("CreateSubsystemPanel: Exception thrown : " + e);
- context.put("errorString", e.toString());
- context.put("updateStatus", "failure");
- throw new IOException(e);
- }
-
- context.put("updateStatus", "success");
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Subsystem Type");
- context.put("panel", "admin/console/config/createsubsystempanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/DatabasePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/DatabasePanel.java
deleted file mode 100644
index 56234f7cd..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/DatabasePanel.java
+++ /dev/null
@@ -1,532 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.util.Random;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class DatabasePanel extends WizardPanelBase {
-
- private static final String HOST = "localhost";
- private static final String CLONE_HOST = "Enter FQDN here";
- private static final String PORT = "389";
- private static final String BINDDN = "cn=Directory Manager";
-
- private WizardServlet mServlet = null;
-
- public DatabasePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Internal Database");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Internal Database");
- setId(id);
- mServlet = servlet;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putBoolean("preop.Database.done", false);
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- boolean s = cs.getBoolean("preop.Database.done",
- false);
-
- if (s != true) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
- Descriptor hostDesc = new Descriptor(IDescriptor.STRING, null, null, "Host name");
- set.add("hostname", hostDesc);
-
- Descriptor portDesc = new Descriptor(IDescriptor.INTEGER, null, null, "Port");
- set.add("portStr", portDesc);
-
- Descriptor basednDesc = new Descriptor(IDescriptor.STRING, null, null, "Base DN");
- set.add("basedn", basednDesc);
-
- Descriptor binddnDesc = new Descriptor(IDescriptor.STRING, null, null, "Bind DN");
- set.add("binddn", binddnDesc);
-
- Descriptor bindpwdDesc = new Descriptor(IDescriptor.PASSWORD, null, null, "Bind Password");
- set.add("bindpwd", bindpwdDesc);
-
- Descriptor databaseDesc = new Descriptor(IDescriptor.STRING, null, null, "Database");
- set.add("database", databaseDesc);
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("DatabasePanel: display()");
- context.put("title", "Internal Database");
- context.put("firsttime", "false");
- IConfigStore cs = CMS.getConfigStore();
- String hostname = null;
- String portStr = null;
- String basedn = null;
- String binddn = null;
- String bindpwd = "";
- String database = null;
- String errorString = "";
- String secure = "false";
- String masterReplicationPort = "";
- String cloneReplicationPort = "";
- String replicationSecurity = "";
-
- try {
- @SuppressWarnings("unused")
- String s = cs.getString("preop.database.removeData"); // check whether it's first time
- } catch (Exception e) {
- context.put("firsttime", "true");
- }
-
- String select = "";
- try {
- select = cs.getString("preop.subsystem.select", "");
- } catch (Exception e) {
- }
-
- if (isPanelDone()) {
- try {
- hostname = cs.getString("internaldb.ldapconn.host", "");
- portStr = cs.getString("internaldb.ldapconn.port", "");
- basedn = cs.getString("internaldb.basedn", "");
- binddn = cs.getString("internaldb.ldapauth.bindDN", "");
- database = cs.getString("internaldb.database", "");
- secure = cs.getString("internaldb.ldapconn.secureConn", "");
- replicationSecurity = cs.getString("internaldb.ldapconn.replicationSecurity", "None");
- masterReplicationPort = cs.getString("internaldb.ldapconn.masterReplicationPort", "");
- cloneReplicationPort = cs.getString("internaldb.ldapconn.cloneReplicationPort", "");
- errorString = cs.getString("preop.database.errorString", "");
- } catch (Exception e) {
- CMS.debug("DatabasePanel display: " + e.toString());
- }
- } else if (select.equals("clone")) {
- hostname = CLONE_HOST;
- portStr = PORT;
- try {
- basedn = cs.getString("internaldb.basedn", "");
- } catch (Exception e) {
- CMS.debug("DatabasePanel::display() - "
- + "Exception=" + e.toString());
- return;
- }
- binddn = BINDDN;
- database = basedn.substring(basedn.lastIndexOf('=') + 1);
- CMS.debug("Clone: database=" + database);
- } else {
- hostname = HOST;
- portStr = PORT;
- String instanceId = "";
- String machineName = "";
-
- try {
- instanceId = cs.getString("instanceId", "");
- machineName = cs.getString("machineName", "");
- } catch (Exception e) {
- CMS.debug("DatabasePanel display: " + e.toString());
- }
- String suffix = "dc=" + machineName + "-" + instanceId;
-
- boolean multipleEnable = false;
- try {
- multipleEnable = cs.getBoolean(
- "internaldb.multipleSuffix.enable", false);
- } catch (Exception e) {
- }
-
- if (multipleEnable)
- basedn = "ou=" + instanceId + "," + suffix;
- else
- basedn = suffix;
- binddn = BINDDN;
- database = machineName + "-" + instanceId;
- }
-
- context.put("clone", select);
- context.put("hostname", hostname);
- context.put("portStr", portStr);
- context.put("basedn", basedn);
- context.put("binddn", binddn);
- context.put("bindpwd", bindpwd);
- context.put("database", database);
- context.put("secureConn", (secure.equals("true") ? "on" : "off"));
- context.put("masterReplicationPort", masterReplicationPort);
- context.put("cloneReplicationPort", cloneReplicationPort);
- context.put("replicationSecurity", replicationSecurity);
- context.put("panel", "admin/console/config/databasepanel.vm");
- context.put("errorString", errorString);
- }
-
- public void initParams(HttpServletRequest request, Context context)
- throws IOException {
- IConfigStore config = CMS.getConfigStore();
- String select = "";
- try {
- select = config.getString("preop.subsystem.select", "");
- } catch (Exception e) {
- }
- context.put("clone", select);
- context.put("hostname", (request.getParameter("host") != null) ? request.getParameter("host") : "");
- context.put("portStr", (request.getParameter("port") != null) ? request.getParameter("port") : "");
- context.put("basedn", (request.getParameter("basedn") != null) ? request.getParameter("basedn") : "");
- context.put("binddn", (request.getParameter("binddn") != null) ? request.getParameter("binddn") : "");
- context.put("bindpwd", (request.getParameter("__bindpwd") != null) ?
- request.getParameter("__bindpwd"): "");
- context.put("database", (request.getParameter("database") != null) ?
- request.getParameter("database") : "");
- context.put("masterReplicationPort", (request.getParameter("masterReplicationPort") != null) ?
- request.getParameter("masterReplicationPort"): "");
- context.put("cloneReplicationPort", (request.getParameter("cloneReplicationPort") != null) ?
- request.getParameter("cloneReplicationPort"): "");
- context.put("replicationSecurity", (request.getParameter("replicationSecurity") != null) ?
- request.getParameter("replicationSecurity"): "None");
- }
-
- /**
- * Parses and validates the parameters in the request.
- */
- public void parseParameters(HttpServletRequest request,
- HttpServletResponse response, Context context) throws IOException {
- IConfigStore cs = CMS.getConfigStore();
-
- String select = "";
- try {
- select = cs.getString("preop.subsystem.select", "");
- } catch (Exception e) {
- }
-
- String hostname = HttpInput.getHostname(request, "host");
- if (hostname == null || hostname.length() == 0) {
- throw new IOException("hostname is empty string");
- }
- context.put("hostname", hostname);
-
- // this validates that port is an integer
- String portStr = HttpInput.getPortNumber(request, "port");
- context.put("portStr", portStr);
-
- String basedn = HttpInput.getDN(request, "basedn");
- if (basedn == null || basedn.length() == 0) {
- throw new IOException("basedn is empty string");
- }
- context.put("basedn", basedn);
-
- String binddn = HttpInput.getDN(request, "binddn");
- if (binddn == null || binddn.length() == 0) {
- throw new IOException("binddn is empty string");
- }
- context.put("binddn", binddn);
-
- String database = HttpInput.getLdapDatabase(request, "database");
- if (database == null || database.length() == 0) {
- throw new IOException("Database is empty string");
- }
- context.put("database", database);
-
- String bindpwd = HttpInput.getPassword(request, "__bindpwd");
- if (bindpwd == null || bindpwd.length() == 0) {
- throw new IOException("Bind password is empty string");
- }
- context.put("bindpwd", bindpwd);
-
- String secure = HttpInput.getCheckbox(request, "secureConn");
- context.put("secureConn", secure);
-
- String masterReplicationPort = HttpInput.getString(request, "masterReplicationPort");
- if (masterReplicationPort != null && masterReplicationPort.length() > 0) {
- try {
- Integer.parseInt(masterReplicationPort); // check for errors
- } catch (NumberFormatException e) {
- throw new IOException("Master replication port is invalid");
- }
- }
- context.put("masterReplicationPort", masterReplicationPort);
-
- String cloneReplicationPort = HttpInput.getString(request, "cloneReplicationPort");
- if (cloneReplicationPort != null && cloneReplicationPort.length() > 0) {
- try {
- Integer.parseInt(cloneReplicationPort); // check for errors
- } catch (Exception e) {
- throw new IOException("Clone replication port is invalid");
- }
- }
- context.put("cloneReplicationPort", cloneReplicationPort);
-
- String replicationSecurity = HttpInput.getString(request, "replicationSecurity");
- context.put("replicationSecurity", replicationSecurity);
-
- if (select.equals("clone")) {
- String masterhost = "";
- String masterport = "";
- String masterbasedn = "";
- String realhostname = "";
- try {
- masterhost = cs.getString("preop.internaldb.master.ldapconn.host", "");
- masterport = cs.getString("preop.internaldb.master.ldapconn.port", "");
- masterbasedn = cs.getString("preop.internaldb.master.basedn", "");
- realhostname = cs.getString("machineName", "");
- } catch (Exception e) {
- }
-
- if (masterhost.equals(realhostname) && masterport.equals(portStr)) {
- throw new IOException("Master and clone must not share the same internal database");
- }
-
- if (!masterbasedn.equals(basedn)) {
- throw new IOException("Master and clone should have the same base DN");
- }
- }
-
- context.put("errorString", "");
- cs.putString("preop.database.errorString", "");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
-
- IConfigStore cs = CMS.getConfigStore();
- context.put("firsttime", "false");
- try {
- @SuppressWarnings("unused")
- String s = cs.getString("preop.database.removeData"); // check whether it's first time
- } catch (Exception e) {
- context.put("firsttime", "true");
- }
-
- try {
- parseParameters(request, response, context);
- } catch (IOException e) {
- context.put("errorString", e.getMessage());
- cs.putString("preop.database.errorString", e.getMessage());
- context.put("updateStatus", "validate-failure");
- throw e;
- }
-
- context.put("errorString", "");
- cs.putString("preop.database.errorString", "");
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore cs = CMS.getConfigStore();
-
- context.put("firsttime", "false");
- try {
- @SuppressWarnings("unused")
- String s = cs.getString("preop.database.removeData"); // check whether it's first time
- } catch (Exception e) {
- context.put("firsttime", "true");
- }
-
- String hostname1 = "";
- String portStr1 = "";
- String database1 = "";
- String masterPortStr = "";
- String csType = "";
- String select = "";
-
- try {
- hostname1 = cs.getString("internaldb.ldapconn.host", "");
- portStr1 = cs.getString("internaldb.ldapconn.port", "");
- database1 = cs.getString("internaldb.database", "");
- masterPortStr = cs.getString("preop.internaldb.master.ldapconn.port", "0");
- csType = cs.getString("cs.type");
- select = cs.getString("preop.subsystem.select", "");
- } catch (Exception e) {
- }
-
- try {
- parseParameters(request, response, context);
- } catch (IOException e) {
- context.put("errorString", e.getMessage());
- cs.putString("preop.database.errorString", e.getMessage());
- context.put("updateStatus", "validate-failure");
- throw e;
- }
-
- String hostname2 = (String) context.get("hostname");
- String portStr2 = (String) context.get("portStr");
- String database2 = (String) context.get("database");
- String basedn2 = (String) context.get("basedn");
- String binddn = (String) context.get("binddn");
- String secure = (String) context.get("secureConn");
- String masterReplicationPortStr = (String) context.get("masterReplicationPort");
- String cloneReplicationPortStr = (String) context.get("cloneReplicationPort");
-
- cs.putString("internaldb.ldapconn.host", hostname2);
- cs.putString("internaldb.ldapconn.port", portStr2);
- cs.putString("internaldb.database", database2);
- cs.putString("internaldb.basedn", basedn2);
- cs.putString("internaldb.ldapauth.bindDN", binddn);
- cs.putString("internaldb.ldapconn.secureConn", (secure.equals("on") ? "true" : "false"));
-
- if (csType.equals("TPS")) {
- cs.putString("tokendb.activityBaseDN", "ou=Activities," + basedn2);
- cs.putString("tokendb.baseDN", "ou=Tokens," + basedn2);
- cs.putString("tokendb.certBaseDN", "ou=Certificates," + basedn2);
- cs.putString("tokendb.userBaseDN", basedn2);
- cs.putString("tokendb.hostport", hostname2 + ":" + portStr2);
- }
-
- if ((masterReplicationPortStr == null) || (masterReplicationPortStr.length() == 0)) {
- masterReplicationPortStr = masterPortStr;
- }
- cs.putString("internaldb.ldapconn.masterReplicationPort", masterReplicationPortStr);
-
- int cloneReplicationPort = 0;
- int port = Integer.parseInt(portStr2);
- if ((cloneReplicationPortStr == null) || (cloneReplicationPortStr.length() == 0)) {
- cloneReplicationPortStr = portStr2;
- }
- cloneReplicationPort = Integer.parseInt(cloneReplicationPortStr);
- cs.putString("internaldb.ldapconn.cloneReplicationPort", cloneReplicationPortStr);
-
- String replicationSecurity = HttpInput.getString(request, "replicationSecurity");
- if ((cloneReplicationPort == port) && (secure.equals("true"))) {
- replicationSecurity = "SSL";
- } else if (replicationSecurity == null) {
- replicationSecurity = "None";
- }
- cs.putString("internaldb.ldapconn.replicationSecurity", replicationSecurity);
-
- String remove = HttpInput.getID(request, "removeData");
- cs.putString("preop.database.removeData", ((remove != null) && (!remove.equals(""))) ?
- "true" : "false");
-
- if (isPanelDone() && (remove == null || remove.equals(""))) {
- /* if user submits the same data, they just want to skip
- to the next panel, no database population is required. */
- if (hostname1.equals(hostname2) &&
- portStr1.equals(portStr2) &&
- database1.equals(database2)) {
- context.put("updateStatus", "success");
- return;
- }
- }
-
- mServlet.cleanUpFromPanel(mServlet.getPanelNo(request));
-
- try {
- /* BZ 430745 create password for replication manager */
- String replicationpwd = Integer.toString(new Random().nextInt());
-
- IConfigStore psStore = null;
- String passwordFile = null;
- passwordFile = cs.getString("passwordFile");
- psStore = CMS.createFileConfigStore(passwordFile);
- psStore.putString("internaldb", HttpInput.getPassword(request, "__bindpwd"));
- psStore.putString("replicationdb", replicationpwd);
- psStore.commit(false);
-
- ConfigurationUtils.populateDB();
-
- cs.putString("preop.internaldb.replicationpwd", replicationpwd);
- cs.putString("preop.database.removeData", "false");
-
- if (select.equals("clone")) {
- CMS.debug("Start setting up replication.");
- ConfigurationUtils.setupReplication();
- }
-
- ConfigurationUtils.reInitSubsystem(csType);
- ConfigurationUtils.populateDBManager();
- ConfigurationUtils.populateVLVIndexes();
-
- cs.putBoolean("preop.Database.done", true);
- cs.commit(false);
- } catch (Exception e) {
- e.printStackTrace();
- CMS.debug("DatabasePanel update: error in populating database " + e.toString());
- context.put("errorString", e.toString());
- cs.putString("preop.database.errorString", e.toString());
- context.put("updateStatus", "failure");
- throw new IOException(e.toString());
- }
-
- context.put("updateStatus", "success");
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- try {
- initParams(request, context);
- } catch (IOException e) {
- }
- context.put("title", "Database");
- context.put("panel", "admin/console/config/databasepanel.vm");
- }
-
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/DisplayCertChainPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/DisplayCertChainPanel.java
deleted file mode 100644
index 702c5aa92..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/DisplayCertChainPanel.java
+++ /dev/null
@@ -1,226 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.Locale;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import netscape.security.util.CertPrettyPrint;
-import netscape.security.x509.X509CertImpl;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.crypto.CryptoUtil;
-
-public class DisplayCertChainPanel extends WizardPanelBase {
-
- public DisplayCertChainPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Display Certificate Chain");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Display Certificate Chain");
- setId(id);
- }
-
- public boolean isSubPanel() {
- return true;
- }
-
- public boolean isPanelDone() {
- return true;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- return set;
- }
-
- public void cleanUp() throws IOException {
- }
-
- /**
- * Should we skip this panel for the configuration.
- */
- public boolean shouldSkip() {
- CMS.debug("DisplayCertChainPanel: should skip");
-
- IConfigStore cs = CMS.getConfigStore();
- // if we are root, no need to get the certificate chain.
-
- try {
- String select = cs.getString("securitydomain.select", "");
- String type = cs.getString("preop.subsystem.select", "");
- String hierarchy = cs.getString("preop.hierarchy.select", "");
-
- if (getId().equals("hierarchy") && hierarchy.equals("root"))
- return true;
-
- if (select.equals("new")) {
- return true;
- }
-
- if (type.equals("new") && getId().equals("clone"))
- return true;
-
- if (type.equals("clone") && getId().equals("ca"))
- return true;
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- try {
- CMS.debug("DisplayCertChainPanel: display");
-
- // update session id
- String session_id = request.getParameter("session_id");
- if (session_id != null) {
- CMS.debug("DisplayCertChainPanel setting session id.");
- CMS.setConfigSDSessionId(session_id);
- }
-
- String type = getId();
- IConfigStore cs = CMS.getConfigStore();
- String certChainConfigName = "preop." + type + ".certchain.size";
- String certchain_size = cs.getString(certChainConfigName, "");
- int size = 0;
- Vector<String> v = new Vector<String>();
-
- if (!certchain_size.equals("")) {
- size = Integer.parseInt(certchain_size);
- for (int i = 0; i < size; i++) {
- certChainConfigName = "preop." + type + ".certchain." + i;
- String c = cs.getString(certChainConfigName, "");
- byte[] b_c = CryptoUtil.base64Decode(c);
- CertPrettyPrint pp = new CertPrettyPrint(new X509CertImpl(b_c));
-
- v.addElement(pp.toString(Locale.getDefault()));
- }
- }
-
- if (getId().equals("securitydomain")) {
- context.put("panelid", "securitydomain");
- context.put("panelname", "Security Domain Trust Verification");
- } else {
- context.put("panelid", "other");
- context.put("panelname", "Subsystem Trust Verification");
- }
- context.put("title", "Display Certificate Chain");
- context.put("panel", "admin/console/config/displaycertchainpanel.vm");
- context.put("errorString", "");
- context.put("certchain", v);
- } catch (Exception e) {
- CMS.debug("DisplayCertPanel: Exception thrown: " + e.toString());
- e.printStackTrace();
- context.put("errorString", e.toString());
- }
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
-
- if (getId().equals("securitydomain")) {
- int panel = getPanelNo() + 1;
- IConfigStore cs = CMS.getConfigStore();
- try {
- String sd_hostname = cs.getString("securitydomain.host", "");
- int sd_port = cs.getInteger("securitydomain.httpsadminport", -1);
- String cs_hostname = cs.getString("machineName", "");
- int cs_port = cs.getInteger("pkicreate.admin_secure_port", -1);
- String subsystem = cs.getString("cs.type", "");
- String urlVal = "https://" + cs_hostname + ":" + cs_port + "/" + subsystem.toLowerCase()
- + "/admin/console/config/wizard?p=" + panel + "&subsystem=" + subsystem;
- String encodedValue = URLEncoder.encode(urlVal, "UTF-8");
- String sdurl = "https://" + sd_hostname + ":" + sd_port + "/ca/admin/ca/securityDomainLogin?url="
- + encodedValue;
- response.sendRedirect(sdurl);
-
- // The user previously specified the CA Security Domain's
- // SSL Admin port in the "Security Domain Panel";
- // now retrieve this specified CA Security Domain's
- // non-SSL EE, SSL Agent, and SSL EE ports:
- String domainXML = ConfigurationUtils.getDomainXML(sd_hostname, sd_port, true);
- ConfigurationUtils.getSecurityDomainPorts(domainXML, sd_hostname, sd_port);
- cs.putString("preop.domainXML", domainXML);
- cs.commit(false);
- } catch (Exception e) {
- CMS.debug("DisplayCertChainPanel Exception=" + e.toString());
- e.printStackTrace();
- context.put("errorString", e.toString());
- context.put("updateStatus", "failure");
- throw new IOException(e);
- }
- }
- context.put("updateStatus", "success");
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- /* This should never be called */
- context.put("title", "Display Certificate Chain");
- context.put("panel", "admin/console/config/displaycertchainpanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/DonePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/DonePanel.java
deleted file mode 100644
index d55bd82bf..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/DonePanel.java
+++ /dev/null
@@ -1,313 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.math.BigInteger;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.ocsp.IOCSPAuthority;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.util.Utils;
-
-public class DonePanel extends WizardPanelBase {
-
- public static final BigInteger BIG_ZERO = new BigInteger("0");
- public static final Long MINUS_ONE = Long.valueOf(-1);
- public static final String RESTART_SERVER_AFTER_CONFIGURATION =
- "restart_server_after_configuration";
- public static final String PKI_SECURITY_DOMAIN = "pki_security_domain";
-
- public DonePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Done");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Done");
- setId(id);
- }
-
- public boolean hasSubPanel() {
- return false;
- }
-
- public void cleanUp() throws IOException {
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request, HttpServletResponse response, Context context) {
- CMS.debug("DonePanel: display()");
-
- // update session id
- String session_id = request.getParameter("session_id");
- if (session_id != null) {
- CMS.debug("NamePanel setting session id.");
- CMS.setConfigSDSessionId(session_id);
- }
-
- IConfigStore cs = CMS.getConfigStore();
-
- String select = "";
- String type = "";
- String instanceId = "";
- String instanceRoot = "";
- String systemdService = "";
- String ca_host = "";
- String sdtype = "";
- int state = 0;
- try {
- type = cs.getString("cs.type", "");
- instanceId = cs.getString("instanceId");
- instanceRoot = cs.getString("instanceRoot");
- select = cs.getString("preop.subsystem.select", "");
- systemdService = cs.getString("pkicreate.systemd.servicename", "");
- ca_host = cs.getString("preop.ca.hostname", "");
- sdtype = cs.getString("securitydomain.select", "");
- state = cs.getInteger("cs.state");
- } catch (Exception e) {
- }
-
- String initDaemon = "";
- if (type.equals("CA")) {
- initDaemon = "&lt;pki_ca_instance_name&gt;";
- } else if (type.equals("KRA")) {
- initDaemon = "&lt;pki_kra_instance_name&gt;";
- } else if (type.equals("OCSP")) {
- initDaemon = "&lt;pki_ocsp_instance_name&gt;";
- } else if (type.equals("TKS")) {
- initDaemon = "&lt;pki_tks_instance_name&gt;";
- } else if (type.equals("TPS")) {
- initDaemon = "&lt;pki_tps_instance_name&gt;";
- }
- String os = System.getProperty("os.name");
- if (os.equalsIgnoreCase("Linux")) {
- if (!systemdService.equals("")) {
- context.put("initCommand", "/bin/systemctl");
- context.put("instanceId", systemdService);
- } else {
- context.put("initCommand", "/sbin/service " + initDaemon);
- context.put("instanceId", instanceId);
- }
- } else {
- /* default case: e. g. - ( os.equalsIgnoreCase( "SunOS" ) */
- context.put("initCommand", "/etc/init.d/" + initDaemon);
- context.put("instanceId", instanceId);
- }
- context.put("title", "Done");
- context.put("panel", "admin/console/config/donepanel.vm");
- context.put("host", CMS.getAdminHost());
- context.put("port", CMS.getAdminPort());
- context.put("systemType", type.toLowerCase());
-
- if (state == 1) {
- context.put("csstate", "1");
- return;
- } else
- context.put("csstate", "0");
-
- if (ca_host.equals(""))
- context.put("externalCA", "true");
- else
- context.put("externalCA", "false");
-
- // Create or update security domain
-
- try {
- if (sdtype.equals("new")) {
- ConfigurationUtils.createSecurityDomain();
- } else { //existing domain
- ConfigurationUtils.updateSecurityDomain();
- }
-
- cs.putString("service.securityDomainPort", CMS.getAgentPort());
- cs.putString("securitydomain.store", "ldap");
- cs.commit(false);
- } catch (Exception e) {
- CMS.debug("DonePanel - update(): Error while updating security domain: " + e);
- e.printStackTrace();
- }
-
- // push connector information to the CA
- try {
- if (type.equals("KRA") && !ca_host.equals("")) {
- ConfigurationUtils.updateConnectorInfo(CMS.getAgentHost(), CMS.getAgentPort());
- ConfigurationUtils.setupClientAuthUser();
- }
- } catch (Exception e) {
- context.put("info", "Failed to update connector information. "+e.getMessage());
- CMS.debug("DonePanel - update(): Error while pushing KRA connectot information to the CA: " + e);
- e.printStackTrace();
- }
-
- // import the CA certificate into the OCSP
- // configure the CRL Publishing to OCSP in CA
- try {
- if (type.equals("OCSP") && !ca_host.equals("")) {
- CMS.reinit(IOCSPAuthority.ID);
- ConfigurationUtils.importCACertToOCSP();
- ConfigurationUtils.updateOCSPConfig();
- ConfigurationUtils.setupClientAuthUser();
- }
- } catch (Exception e) {
- CMS.debug("DonePanel - update(): Error while configuring OCSP publishing on the CA: " + e);
- e.printStackTrace();
- }
-
- try {
- if (!select.equals("clone")) {
- if (type.equals("CA") || type.equals("KRA")) {
- ConfigurationUtils.updateNextRanges();
-
- }
- }
- } catch (Exception e) {
- CMS.debug("DonePanel - update(): Error while updating serial number next ranges: " + e);
- e.printStackTrace();
- }
-
- try {
- if (select.equals("clone") && type.equalsIgnoreCase("CA") && ConfigurationUtils.isSDHostDomainMaster(cs)) {
- // cloning a domain master CA, the clone is also master of its domain
- CMS.debug("Cloning a domain master");
- cs.putString("securitydomain.host", CMS.getEESSLHost());
- cs.putString("securitydomain.httpport", CMS.getEENonSSLPort());
- cs.putString("securitydomain.httpsadminport", CMS.getAdminPort());
- cs.putString("securitydomain.httpsagentport", CMS.getAgentPort());
- cs.putString("securitydomain.httpseeport", CMS.getEESSLPort());
- cs.putString("securitydomain.select", "new");
- }
- } catch (Exception e) {
- CMS.debug("DonePanel - update(): Error in determining if security domain host is a master CA: " + e);
- e.printStackTrace();
- }
-
- try {
- ConfigurationUtils.setupDBUser();
- } catch (Exception e) {
- e.printStackTrace();
- CMS.debug("DonePanel - update(): Unable to create or update dbuser" + e);
- }
-
- if (type.equals("TPS")) {
- try {
- String adminUID = cs.getString("preop.admin.uid", "tpsadmin");
- ConfigurationUtils.addProfilesToTPSUser(adminUID);
-
- String sd_admin_port = cs.getString("securitydomain.httpsadminport");
- String sd_host = cs.getString("securitydomain.host");
- URI secdomainURI = new URI("https://" + sd_host + ":" + sd_admin_port);
-
- // register TPS with CA
- URI caURI = new URI(cs.getString("preop.cainfo.select"));
- ConfigurationUtils.registerUser(secdomainURI, caURI, "ca");
-
- // register TPS with TKS
- URI tksURI = new URI(cs.getString("preop.tksinfo.select"));
- ConfigurationUtils.registerUser(secdomainURI, tksURI, "tks");
-
- String keyGen = cs.getString("conn.tks1.serverKeygen", "false");
- if (keyGen.equalsIgnoreCase("true")) {
- URI kraURI = new URI(cs.getString("preop.krainfo.select"));
- ConfigurationUtils.registerUser(secdomainURI, kraURI, "kra");
- String transportCert = ConfigurationUtils.getTransportCert(secdomainURI, kraURI);
- ConfigurationUtils.exportTransportCert(secdomainURI, tksURI, transportCert);
- }
- } catch (URISyntaxException e) {
- e.printStackTrace();
- CMS.debug("Invalid URI for CA, TKS or KRA: " + e);
- } catch (Exception e) {
- e.printStackTrace();
- CMS.debug("Errors in registering TPS to CA, TKS or KRA: " + e);
- }
- }
-
- cs.putInteger("cs.state", 1);
- try {
- ConfigurationUtils.removePreopConfigEntries();
- } catch (Exception e) {
- CMS.debug("DonePanel - update(): Caught exception saving preop variables: " + e);
- }
-
- // Create an empty file that designates the fact that although
- // this server instance has been configured, it has NOT yet
- // been restarted!
- String restart_server = instanceRoot + "/conf/"
- + RESTART_SERVER_AFTER_CONFIGURATION;
- if (!Utils.isNT()) {
- Utils.exec("touch " + restart_server);
- Utils.exec("chmod 00660 " + restart_server);
- }
-
- context.put("csstate", "1");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {/* This should never be called */
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/HierarchyPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/HierarchyPanel.java
deleted file mode 100644
index b42bdb7de..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/HierarchyPanel.java
+++ /dev/null
@@ -1,194 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class HierarchyPanel extends WizardPanelBase {
-
- public HierarchyPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("PKI Hierarchy");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("PKI Hierarchy");
- setId(id);
- }
-
- public boolean shouldSkip() {
-
- // we dont need to ask the hierachy if we are
- // setting up a clone
- try {
- IConfigStore c = CMS.getConfigStore();
- String s = c.getString("preop.subsystem.select",
- null);
- if (s != null && s.equals("clone")) {
- // mark this panel as done
- c.putString("preop.hierarchy.select", "root");
- c.putString("hierarchy.select", "Clone");
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putString("preop.hierarchy.select", "");
- cs.putString("hierarchy.select", "");
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.hierarchy.select", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "PKI Hierarchy");
- IConfigStore config = CMS.getConfigStore();
-
- if (isPanelDone()) {
- try {
- String s = config.getString("preop.hierarchy.select");
-
- if (s.equals("root")) {
- context.put("check_root", "checked");
- } else if (s.equals("join")) {
- context.put("check_join", "checked");
- }
- } catch (Exception e) {
- CMS.debug(e.toString());
- }
- } else {
- context.put("check_root", "checked");
- context.put("check_join", "");
- }
-
- context.put("panel", "admin/console/config/hierarchypanel.vm");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
- try {
- String cstype = config.getString("preop.subsystem.select", "");
- if (cstype.equals("clone")) {
- context.put("updateStatus", "success");
- return;
- }
- } catch (Exception e) {
- }
-
- String select = HttpInput.getID(request, "choice");
-
- if (select == null) {
- CMS.debug("HierarchyPanel: choice not found");
- context.put("updateStatus", "failure");
- throw new IOException("choice not found");
- }
-
- if (select.equals("root")) {
- config.putString("preop.hierarchy.select", "root");
- config.putString("hierarchy.select", "Root");
- config.putString("preop.ca.type", "sdca");
- try {
- config.commit(false);
- } catch (EBaseException e) {
- }
- } else if (select.equals("join")) {
- config.putString(PCERT_PREFIX + "signing.type", "remote");
- config.putString("preop.hierarchy.select", "join");
- config.putString("hierarchy.select", "Subordinate");
- } else {
- config.putString(PCERT_PREFIX + "signing.type", "remote");
- CMS.debug("HierarchyPanel: invalid choice " + select);
- context.put("updateStatus", "failure");
- throw new IOException("invalid choice " + select);
- }
- context.put("updateStatus", "success");
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportAdminCertPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportAdminCertPanel.java
deleted file mode 100644
index 98614ac61..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportAdminCertPanel.java
+++ /dev/null
@@ -1,340 +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.cms.servlet.csadmin;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-import java.math.BigInteger;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import netscape.security.x509.X509CertImpl;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.ConflictingOperationException;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.base.ISubsystem;
-import com.netscape.certsrv.ca.ICertificateAuthority;
-import com.netscape.certsrv.dbs.certdb.ICertificateRepository;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.usrgrp.IUGSubsystem;
-import com.netscape.certsrv.usrgrp.IUser;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.crypto.CryptoUtil;
-
-public class ImportAdminCertPanel extends WizardPanelBase {
-
- public ImportAdminCertPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Import Administrator's Certificate");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Import Administrator's Certificate");
- setId(id);
- }
-
- public boolean isSubPanel() {
- return true;
- }
-
- public void cleanUp() throws IOException {
- }
-
- public boolean isPanelDone() {
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("ImportAdminCertPanel: display");
- context.put("errorString", "");
- context.put("title", "Import Administrator's Certificate");
- context.put("panel", "admin/console/config/importadmincertpanel.vm");
- context.put("import", "true");
-
- IConfigStore cs = CMS.getConfigStore();
-
- String type = "";
-
- try {
- type = cs.getString("preop.ca.type", "");
- } catch (Exception e) {
- }
-
- try {
- String serialno = cs.getString("preop.admincert.serialno.0");
-
- context.put("serialNumber", serialno);
- } catch (Exception e) {
- context.put("errorString", "Failed to get serial number.");
- }
-
- context.put("caType", type);
-
- ISubsystem ca = CMS.getSubsystem("ca");
-
- if (ca == null) {
- context.put("ca", "false");
- } else {
- context.put("ca", "true");
- }
-
- String caHost = "";
- String caPort = "";
- String info = "";
-
- if (ca == null) {
- if (type.equals("otherca")) {
- try {
- // this is a non-CA system that has elected to have its certificates
- // signed by a CA outside of the security domain.
- // in this case, we submitted the cert request for the admin cert to
- // to security domain host.
- caHost = cs.getString("securitydomain.host", "");
- caPort = cs.getString("securitydomain.httpsadminport", "");
- } catch (Exception e) {
- }
- } else if (type.equals("sdca")) {
- try {
- // this is a non-CA system that submitted its certs to a CA
- // within the security domain. In this case, we submitted the cert
- // request for the admin cert to this CA
- caHost = cs.getString("preop.ca.hostname", "");
- caPort = cs.getString("preop.ca.httpsadminport", "");
- } catch (Exception e) {
- }
- }
- } else {
- // for CAs, we always generate our own admin certs
- // send our own connection details
- try {
- caHost = cs.getString("service.machineName", "");
- caPort = cs.getString("pkicreate.admin_secure_port", "");
- } catch (Exception e) {
- }
- }
-
- String pkcs7 = "";
- try {
- pkcs7 = cs.getString("preop.admincert.pkcs7", "");
- } catch (Exception e) {
- }
-
- context.put("pkcs7", pkcs7);
- context.put("caHost", caHost);
- context.put("caPort", caPort);
- context.put("info", info);
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore cs = CMS.getConfigStore();
-
- String type = "";
- String subsystemtype = "";
- String selected_hierarchy = "";
-
- try {
- type = cs.getString("preop.ca.type", "");
- subsystemtype = cs.getString("cs.type", "");
- selected_hierarchy = cs.getString("preop.hierarchy.select", "");
- } catch (Exception e) {
- }
-
- ICertificateAuthority ca = (ICertificateAuthority) CMS.getSubsystem(
- ICertificateAuthority.ID);
-
- if (ca == null) {
- context.put("ca", "false");
- } else {
- context.put("ca", "true");
- }
- context.put("caType", type);
-
- X509CertImpl certs[] = new X509CertImpl[1];
-
- // REMINDER: This panel is NOT used by "clones"
- if (ca != null) {
- String serialno = null;
-
- if (selected_hierarchy.equals("root")) {
- CMS.debug("ImportAdminCertPanel update: "
- + "Root CA subsystem - "
- + "(new Security Domain)");
- } else {
- CMS.debug("ImportAdminCertPanel update: "
- + "Subordinate CA subsystem - "
- + "(new Security Domain)");
- }
-
- try {
- serialno = cs.getString("preop.admincert.serialno.0");
- } catch (Exception e) {
- CMS.debug(
- "ImportAdminCertPanel update: Failed to get request id.");
- context.put("updateStatus", "failure");
- throw new IOException("Failed to get request id.");
- }
-
- ICertificateRepository repost = ca.getCertificateRepository();
-
- try {
- certs[0] = repost.getX509Certificate(
- new BigInteger(serialno, 16));
- } catch (Exception ee) {
- }
- } else {
- String dir = null;
-
- // REMINDER: This panel is NOT used by "clones"
- if (subsystemtype.equals("CA")) {
- if (selected_hierarchy.equals("root")) {
- CMS.debug("ImportAdminCertPanel update: "
- + "Root CA subsystem - "
- + "(existing Security Domain)");
- } else {
- CMS.debug("ImportAdminCertPanel update: "
- + "Subordinate CA subsystem - "
- + "(existing Security Domain)");
- }
- } else {
- CMS.debug("ImportAdminCertPanel update: "
- + subsystemtype
- + " subsystem");
- }
-
- try {
- dir = cs.getString("preop.admincert.b64", "");
- CMS.debug("ImportAdminCertPanel update: dir=" + dir);
- } catch (Exception ee) {
- }
-
- try {
- BufferedReader reader = new BufferedReader(
- new FileReader(dir));
- String b64 = "";
-
- StringBuffer sb = new StringBuffer();
- while (reader.ready()) {
- sb.append(reader.readLine());
- }
- b64 = sb.toString();
- reader.close();
-
- b64 = b64.trim();
- b64 = CryptoUtil.stripCertBrackets(b64);
- CMS.debug("ImportAdminCertPanel update: b64=" + b64);
- byte[] b = CryptoUtil.base64Decode(b64);
- certs[0] = new X509CertImpl(b);
- } catch (Exception e) {
- CMS.debug("ImportAdminCertPanel update: " + e.toString());
- }
- }
-
- try {
- IUGSubsystem ug = (IUGSubsystem) CMS.getSubsystem(IUGSubsystem.ID);
- String uid = cs.getString("preop.admin.uid");
- IUser user = ug.getUser(uid);
- user.setX509Certificates(certs);
- ug.addUserCert(user);
-
- } catch (ConflictingOperationException e) {
- CMS.debug("ImportAdminCertPanel update: failed to add certificate to the internal database. Exception: "
- + e.toString());
- // ignore
-
- } catch (Exception e) {
- CMS.debug(
- "ImportAdminCertPanel update: failed to add certificate. Exception: "
- + e.toString());
- context.put("updateStatus", "failure");
- throw new IOException(e.toString());
- }
-
- context.put("errorString", "");
- context.put("info", "");
- context.put("title", "Import Administrator Certificate");
- context.put("panel", "admin/console/config/importadmincertpanel.vm");
- context.put("updateStatus", "success");
- }
-
- public boolean shouldSkip() {
- try {
- IConfigStore c = CMS.getConfigStore();
- String s = c.getString("preop.subsystem.select", null);
- if (s != null && s.equals("clone")) {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- /* This should never be called */
- context.put("title", "Import Administrator Certificate");
- context.put("panel", "admin/console/config/importadmincertpanel.vm");
- context.put("info", "");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportCAChainPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportCAChainPanel.java
deleted file mode 100755
index bc4af9828..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ImportCAChainPanel.java
+++ /dev/null
@@ -1,145 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.base.ISubsystem;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class ImportCAChainPanel extends WizardPanelBase {
-
- public ImportCAChainPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Import CA's Certificate Chain");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Import CA's Certificate Chain");
- setId(id);
- }
-
- public boolean isSubPanel() {
- return false;
- }
-
- public void cleanUp() throws IOException {
- }
-
- public boolean isPanelDone() {
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("ImportCACertChain: display");
- context.put("errorString", "");
- context.put("title", "Import CA's Certificate Chain");
- context.put("panel", "admin/console/config/importcachainpanel.vm");
- context.put("import", "true");
-
- IConfigStore cs = CMS.getConfigStore();
- try {
- context.put("machineName", cs.getString("machineName"));
- context.put("https_port", cs.getString("pkicreate.ee_secure_port"));
- context.put("http_port", cs.getString("pkicreate.unsecure_port"));
- } catch (EBaseException e) {
- CMS.debug("ImportCACertChain:display: Exception: " + e.toString());
- context.put("errorString", "Error loading values for Import CA Certificate Panel");
- }
-
- ISubsystem ca = CMS.getSubsystem("ca");
-
- if (ca == null) {
- context.put("ca", "false");
- } else {
- context.put("ca", "true");
- }
-
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
-
- context.put("errorString", "");
- context.put("title", "Import CA's Certificate Chain");
- context.put("panel", "admin/console/config/importcachainpanel.vm");
- context.put("updateStatus", "success");
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
-
- /* This should never be called */
- IConfigStore cs = CMS.getConfigStore();
- try {
- context.put("machineName", cs.getString("machineName"));
- context.put("https_port", cs.getString("pkicreate.ee_secure_port"));
- context.put("http_port", cs.getString("pkicreate.unsecure_port"));
- context.put("title", "Import CA's Certificate Chain");
- context.put("panel", "admin/console/config/importcachainpanel.vm");
- } catch (EBaseException e) {
- }
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ModulePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ModulePanel.java
deleted file mode 100644
index 00474615f..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ModulePanel.java
+++ /dev/null
@@ -1,338 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-import org.mozilla.jss.CryptoManager;
-import org.mozilla.jss.crypto.CryptoToken;
-import org.mozilla.jss.crypto.TokenException;
-import org.mozilla.jss.pkcs11.PK11Module;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.crypto.Module;
-
-public class ModulePanel extends WizardPanelBase {
- private CryptoManager mCryptoManager = null;
- private Vector<Module> mSupportedModules = null;
- private Vector<Module> mOtherModules = null;
- private Hashtable<String, PK11Module> mCurrModTable = new Hashtable<String, PK11Module>();
- private WizardServlet mServlet = null;
-
- public ModulePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Key Store");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Key Store");
- setId(id);
- mServlet = servlet;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putBoolean("preop.ModulePanel.done", false);
- }
-
- public void loadCurrModTable() {
- try {
- // getting existing modules
- mCryptoManager = CryptoManager.getInstance();
- @SuppressWarnings("unchecked")
- Enumeration<PK11Module> modules = mCryptoManager.getModules();
-
- while (modules.hasMoreElements()) {
- PK11Module mod = modules.nextElement();
-
- CMS.debug("ModulePanel: got module " + mod.getName());
- mCurrModTable.put(mod.getName(), mod);
- } // while
- } catch (Exception e) {
- CMS.debug(
- "ModulePanel: Exception caught in loadCurrModTable: "
- + e.toString());
- System.err.println("Exception caught: " + e.toString());
- }
- }
-
- /*
- * Modules not listed as supported modules
- */
- public void loadOtherModules() {
- Enumeration<PK11Module> m = mCurrModTable.elements();
-
- mOtherModules = new Vector<Module>();
- while (m.hasMoreElements()) {
- PK11Module mod = m.nextElement();
- Enumeration<Module> s = mSupportedModules.elements();
- boolean found = false;
-
- while (s.hasMoreElements()) {
- Module sm = s.nextElement();
-
- if (mod.getName().equals(sm.getCommonName())) {
- found = true;
- break;
- } else {
- found = false;
- }
- }// while
- if (!found) {
- // unsupported, use common name as user friendly name
- Module module = new Module(mod.getName(), mod.getName());
-
- loadModTokens(module, mod);
- module.setFound(true);
- mOtherModules.addElement(module);
- break;
- }
- }// while
- }
-
- /*
- * find all tokens belonging to a module and load the Module
- */
- public void loadModTokens(Module module, PK11Module mod) {
- @SuppressWarnings("unchecked")
- Enumeration<CryptoToken> tokens = mod.getTokens();
-
- while (tokens.hasMoreElements()) {
- try {
- CryptoToken token = tokens.nextElement();
-
- CMS.debug("ModulePanel: token nick name=" + token.getName());
- CMS.debug("ModulePanel: token logged in?" + token.isLoggedIn());
- CMS.debug("ModulePanel: token is present?" + token.isPresent());
- if (!token.getName().equals("Internal Crypto Services Token") &&
- !token.getName().equals("NSS Generic Crypto Services")) {
- module.addToken(token);
- } else {
- CMS.debug(
- "ModulePanel: token " + token.getName()
- + " not to be added");
- }
-
- } catch (TokenException ex) {
- CMS.debug("ModulePanel:" + ex.toString());
- }
- }
- }
-
- /*
- * Modules unsupported by the system will not be included
- */
- public void loadSupportedModules() {
-
- // getting supported security modules
- // a Vectgor of Modules
- mSupportedModules = new Vector<Module>();
- // read from conf store all supported modules
- try {
- int count = CMS.getConfigStore().getInteger(
- "preop.configModules.count");
-
- CMS.debug("ModulePanel: supported modules count= " + count);
- for (int i = 0; i < count; i++) {
- String cn = CMS.getConfigStore().getString(
- "preop.configModules.module" + i + ".commonName");
- String pn = CMS.getConfigStore().getString(
- "preop.configModules.module" + i + ".userFriendlyName");
- String img = CMS.getConfigStore().getString(
- "preop.configModules.module" + i + ".imagePath");
-
- if ((cn == null) || (cn.equals(""))) {
- break;
- }
-
- CMS.debug("ModulePanel: got from config module: " + cn);
- // create a Module object
- Module module = new Module(cn, pn, img);
-
- if (mCurrModTable.containsKey(cn)) {
- CMS.debug("ModulePanel: module found: " + cn);
- module.setFound(true);
- // add token info to module vector
- PK11Module m = mCurrModTable.get(cn);
-
- loadModTokens(module, m);
- }
-
- CMS.debug("ModulePanel: adding module " + cn);
- // add module to set
- if (!mSupportedModules.contains(module)) {
- mSupportedModules.addElement(module);
- }
- }// for
-
- } catch (Exception e) {
- CMS.debug(
- "ModulePanel: Exception caught in loadSupportedModules(): "
- + e.toString());
- System.err.println("Exception caught: " + e.toString());
- }
- }
-
- public PropertySet getUsage() {
- // it a token choice. Available tokens are discovered dynamically so
- // can't be a real CHOICE
- PropertySet set = new PropertySet();
-
- Descriptor tokenDesc = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* default parameter */
- "module token selection");
-
- set.add("choice", tokenDesc);
-
- return set;
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- boolean s = cs.getBoolean("preop.ModulePanel.done",
- false);
-
- if (s != true) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- public boolean hasSubPanel() {
- return true;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("ModulePanel: display()");
- context.put("title", "Key Store");
-
- loadCurrModTable();
- loadSupportedModules();
- loadOtherModules();
-
- IConfigStore config = CMS.getConfigStore();
-
- try {
- String s = config.getString("preop.module.token",
- "Internal Key Storage Token");
-
- context.put("defTok", s);
- } catch (Exception e) {
- CMS.debug("ModulePanel:" + e.toString());
- }
-
- context.put("status", "display");
- context.put("oms", mOtherModules);
- context.put("sms", mSupportedModules);
- // context.put("status_token", "None");
- String subpanelno = String.valueOf(getPanelNo() + 1);
- CMS.debug("ModulePanel subpanelno =" + subpanelno);
- context.put("subpanelno", subpanelno);
- context.put("panel", "admin/console/config/modulepanel.vm");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- boolean hasErr = false;
-
- try {
- // get the value of the choice
- String select = HttpInput.getID(request, "choice");
-
- if (select == null) {
- CMS.debug("ModulePanel: no choice selected");
- hasErr = true;
- throw new IOException("choice not found");
- }
-
- IConfigStore config = CMS.getConfigStore();
- String oldtokenname = config.getString("preop.module.token", "");
- if (!oldtokenname.equals(select))
- mServlet.cleanUpFromPanel(mServlet.getPanelNo(request));
-
- if (hasErr == false) {
- config.putString("preop.module.token", select);
- config.putBoolean("preop.ModulePanel.done", true);
- }
- config.commit(false);
- context.put("updateStatus", "success");
- } catch (Exception e) {
- CMS.debug("ModulePanel: Exception caught: " + e.toString());
- System.err.println("Exception caught: " + e.toString());
- context.put("updateStatus", "failure");
- }
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Security Module");
- context.put("panel", "admin/console/config/modulepanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/NamePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/NamePanel.java
deleted file mode 100644
index 070e17e7c..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/NamePanel.java
+++ /dev/null
@@ -1,622 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.velocity.context.Context;
-import org.xml.sax.SAXException;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.EPropertyNotFound;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.base.ISubsystem;
-import com.netscape.certsrv.ca.ICertificateAuthority;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class NamePanel extends WizardPanelBase {
- private Vector<Cert> mCerts = null;
- private WizardServlet mServlet = null;
-
- public NamePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Subject Names");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Subject Names");
- setId(id);
- mServlet = servlet;
- }
-
- /**
- * Returns the usage.XXX usage needs to be made dynamic
- */
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- Descriptor caDN = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "CA Signing Certificate's DN");
-
- set.add("caDN", caDN);
-
- Descriptor sslDN = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "SSL Server Certificate's DN");
-
- set.add("sslDN", sslDN);
-
- Descriptor subsystemDN = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "CA Subsystem Certificate's DN");
-
- set.add("subsystemDN", subsystemDN);
-
- Descriptor ocspDN = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "OCSP Signing Certificate's DN");
-
- set.add("ocspDN", ocspDN);
-
- return set;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- try {
- @SuppressWarnings("unused")
- boolean done = cs.getBoolean("preop.NamePanel.done"); // check for errors
- cs.putBoolean("preop.NamePanel.done", false);
- cs.commit(false);
- } catch (Exception e) {
- }
-
- String list = "";
- try {
- list = cs.getString("preop.cert.list", "");
- } catch (Exception e) {
- }
-
- StringTokenizer st = new StringTokenizer(list, ",");
- while (st.hasMoreTokens()) {
- String t = st.nextToken();
- cs.remove("preop.cert." + t + ".done");
- }
-
- try {
- cs.commit(false);
- } catch (Exception e) {
- }
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- boolean s = cs.getBoolean("preop.NamePanel.done", false);
- if (s != true) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("NamePanel: display()");
- context.put("title", "Subject Names");
-
- // update session id
- String session_id = request.getParameter("session_id");
- if (session_id != null) {
- CMS.debug("NamePanel setting session id.");
- CMS.setConfigSDSessionId(session_id);
- }
-
- mCerts = new Vector<Cert>();
-
- String domainname = "";
- IConfigStore config = CMS.getConfigStore();
- String select = "";
- String hselect = "";
- String cstype = "";
- String domainType = "";
- try {
- //if CA, at the hierarchy panel, was it root or subord?
- hselect = config.getString("preop.hierarchy.select", "");
- select = config.getString("preop.subsystem.select", "");
- cstype = config.getString("cs.type", "");
- domainType = config.getString("preop.securitydomain.select", "");
- context.put("select", select);
- if (cstype.equals("CA") && hselect.equals("root")) {
- CMS.debug("NamePanel ca is root");
- context.put("isRoot", "true");
- } else {
- CMS.debug("NamePanel not ca or not root");
- context.put("isRoot", "false");
- }
- } catch (Exception e) {
- }
-
- try {
- domainname = config.getString("securitydomain.name", "");
-
- String certTags = config.getString("preop.cert.list");
- // same token for now
- String token = config.getString(PRE_CONF_CA_TOKEN);
- StringTokenizer st = new StringTokenizer(certTags, ",");
- String domaintype = config.getString("securitydomain.select");
- int count = 0;
- String host = "";
- int sd_admin_port = -1;
- if (domaintype.equals("existing")) {
- host = config.getString("securitydomain.host", "");
- sd_admin_port = config.getInteger("securitydomain.httpsadminport", -1);
- count = ConfigurationUtils.getSubsystemCount(host, sd_admin_port, true, cstype);
- }
-
- while (st.hasMoreTokens()) {
- String certTag = st.nextToken();
-
- CMS.debug("NamePanel: display() about to process certTag :" + certTag);
- String nn = config.getString(
- PCERT_PREFIX + certTag + ".nickname");
- Cert c = new Cert(token, nn, certTag);
- String userfriendlyname = config.getString(
- PCERT_PREFIX + certTag + ".userfriendlyname");
- String subsystem = config.getString(
- PCERT_PREFIX + certTag + ".subsystem");
-
- c.setUserFriendlyName(userfriendlyname);
-
- String type = config.getString(PCERT_PREFIX + certTag + ".type");
- c.setType(type);
- boolean enable = config.getBoolean(PCERT_PREFIX + certTag + ".enable", true);
- c.setEnable(enable);
-
- String cert = config.getString(subsystem + "." + certTag + ".cert", "");
- String certreq =
- config.getString(subsystem + "." + certTag + ".certreq", "");
-
- String dn = config.getString(PCERT_PREFIX + certTag + ".dn");
- boolean override = config.getBoolean(PCERT_PREFIX + certTag +
- ".cncomponent.override", true);
- //o_sd is to add o=secritydomainname
- boolean o_sd = config.getBoolean(PCERT_PREFIX + certTag +
- "o_securitydomain", true);
- domainname = config.getString("securitydomain.name", "");
- CMS.debug("NamePanel: display() override is " + override);
- CMS.debug("NamePanel: display() o_securitydomain is " + o_sd);
- CMS.debug("NamePanel: display() domainname is " + domainname);
-
- boolean dnUpdated = false;
- try {
- dnUpdated = config.getBoolean(PCERT_PREFIX + certTag + ".updatedDN");
- } catch (Exception e) {
- }
-
- try {
- @SuppressWarnings("unused")
- boolean done = config.getBoolean("preop.NamePanel.done"); // check for errors
- c.setDN(dn);
- } catch (Exception e) {
- String instanceId = config.getString("service.instanceID", "");
- if (select.equals("clone") || dnUpdated) {
- c.setDN(dn);
- } else if (count != 0 && override && (cert.equals("") || certreq.equals(""))) {
- CMS.debug("NamePanel subsystemCount = " + count);
- c.setDN(dn + " " + count +
- ((!instanceId.equals("")) ? (",OU=" + instanceId) : "") +
- ((o_sd) ? (",O=" + domainname) : ""));
- config.putBoolean(PCERT_PREFIX + certTag + ".updatedDN", true);
- } else {
- c.setDN(dn +
- ((!instanceId.equals("")) ? (",OU=" + instanceId) : "") +
- ((o_sd) ? (",O=" + domainname) : ""));
- config.putBoolean(PCERT_PREFIX + certTag + ".updatedDN", true);
- }
- }
-
- mCerts.addElement(c);
- CMS.debug(
- "NamePanel: display() added cert to mCerts: certTag "
- + certTag);
- config.putString(PCERT_PREFIX + c.getCertTag() + ".dn", c.getDN());
- }// while
- } catch (EBaseException e) {
- CMS.debug("NamePanel: display() exception caught:" + e.toString());
- } catch (Exception e) {
- CMS.debug("NamePanel: " + e.toString());
- }
-
- CMS.debug("NamePanel: Ready to get SSL EE HTTPS urls");
- Vector<String> v = null;
- if (!domainType.equals("new")) {
- try {
- v = ConfigurationUtils.getUrlListFromSecurityDomain(config, "CA", "SecurePort");
- } catch (Exception e) {
- CMS.debug("NamePanel: display(): Exception thrown in getUrlListFromSecurityDomain " + e);
- e.printStackTrace();
- }
- }
- if (v == null) {
- v = new Vector<String>();
- }
- v.addElement("External CA");
-
- StringBuffer list = new StringBuffer();
- int size = v.size();
-
- for (int i = 0; i < size; i++) {
- if (i == size - 1) {
- list.append(v.elementAt(i));
- } else {
- list.append(v.elementAt(i));
- list.append(",");
- }
- }
-
- try {
- config.putString("preop.ca.list", list.toString());
- config.commit(false);
- } catch (Exception e) {
- }
-
- context.put("urls", v);
-
- context.put("certs", mCerts);
- context.put("panel", "admin/console/config/namepanel.vm");
- context.put("errorString", "");
-
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- Enumeration<Cert> c = mCerts.elements();
-
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- // get the dn's and put in config
- if (cert.isEnable()) {
- String dn = HttpInput.getDN(request, cert.getCertTag());
-
- if (dn == null || dn.length() == 0) {
- context.put("updateStatus", "validate-failure");
- throw new IOException("Empty DN for " + cert.getUserFriendlyName());
- }
- }
- } // while
- }
-
- public void configCertWithTag(HttpServletRequest request,
- HttpServletResponse response,
- Context context, String tag) throws IOException {
- CMS.debug("NamePanel: configCertWithTag start");
- Enumeration<Cert> c = mCerts.elements();
- IConfigStore config = CMS.getConfigStore();
-
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- String ct = cert.getCertTag();
- CMS.debug("NamePanel: configCertWithTag ct=" + ct + " tag=" + tag);
- if (ct.equals(tag)) {
- try {
- String nickname = HttpInput.getNickname(request, ct + "_nick");
- if (nickname != null) {
- CMS.debug("configCertWithTag: Setting nickname for " + ct + " to " + nickname);
- config.putString(PCERT_PREFIX + ct + ".nickname", nickname);
- cert.setNickname(nickname);
- config.commit(false);
- }
- String dn = HttpInput.getDN(request, ct);
- if (dn != null) {
- config.putString(PCERT_PREFIX + ct + ".dn", dn);
- config.commit(false);
- }
- } catch (Exception e) {
- CMS.debug("NamePanel: configCertWithTag: Exception in setting nickname for "
- + ct + ": " + e.toString());
- }
-
- ConfigurationUtils.configCert(request, response, context, cert, this);
- CMS.debug("NamePanel: configCertWithTag done with tag=" + tag);
- return;
- }
- }
- CMS.debug("NamePanel: configCertWithTag done");
- }
-
- private boolean inputChanged(HttpServletRequest request)
- throws IOException {
- IConfigStore config = CMS.getConfigStore();
-
- boolean hasChanged = false;
- try {
- Enumeration<Cert> c = mCerts.elements();
-
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- String ct = cert.getCertTag();
- boolean enable = config.getBoolean(PCERT_PREFIX + ct + ".enable", true);
- if (!enable)
- continue;
-
- String olddn = config.getString(PCERT_PREFIX + cert.getCertTag() + ".dn", "");
- // get the dn's and put in config
- String dn = HttpInput.getDN(request, cert.getCertTag());
-
- if (!olddn.equals(dn))
- hasChanged = true;
-
- String oldnick = config.getString(PCERT_PREFIX + ct + ".nickname");
- String nick = HttpInput.getNickname(request, ct + "_nick");
- if (!oldnick.equals(nick))
- hasChanged = true;
-
- }
- } catch (Exception e) {
- }
-
- return hasChanged;
- }
-
- public String getURL(HttpServletRequest request, IConfigStore config) {
- String index = request.getParameter("urls");
- if (index == null) {
- return null;
- }
- String url = "";
- if (index.startsWith("http")) {
- // user may submit url directlry
- url = index;
- } else {
- try {
- int x = Integer.parseInt(index);
- String list = config.getString("preop.ca.list", "");
- StringTokenizer tokenizer = new StringTokenizer(list, ",");
- int counter = 0;
-
- while (tokenizer.hasMoreTokens()) {
- url = tokenizer.nextToken();
- if (counter == x) {
- break;
- }
- counter++;
- }
- } catch (Exception e) {
- }
- }
- return url;
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- CMS.debug("NamePanel: in update()");
-
- if (inputChanged(request)) {
- mServlet.cleanUpFromPanel(mServlet.getPanelNo(request));
- } else if (isPanelDone()) {
- context.put("updateStatus", "success");
- return;
- }
-
- IConfigStore config = CMS.getConfigStore();
- ISubsystem subsystem = CMS.getSubsystem(ICertificateAuthority.ID);
-
- try {
- //if CA, at the hierarchy panel, was it root or subord?
- String hselect = config.getString("preop.hierarchy.select", "");
- String cstype = config.getString("preop.subsystem.select", "");
- if (cstype.equals("clone")) {
- CMS.debug("NamePanel: clone configuration detected");
- // still need to handle SSL certificate
- configCertWithTag(request, response, context, "sslserver");
- String url = getURL(request, config);
- if (url != null && !url.equals("External CA")) {
- // preop.ca.url and admin port are required for setting KRA connector
- url = url.substring(url.indexOf("https"));
- config.putString("preop.ca.url", url);
-
- URL urlx = new URL(url);
- updateCloneSDCAInfo(request, context, urlx.getHost(), urlx.getPort());
-
- }
- ConfigurationUtils.updateCloneConfig();
- CMS.debug("NamePanel: clone configuration done");
- context.put("updateStatus", "success");
- return;
- }
-
- //if no hselect, then not CA
- if (hselect.equals("") || hselect.equals("join")) {
- String url = getURL(request, config);
-
- URL urlx = null;
-
- if (url.equals("External CA")) {
- CMS.debug("NamePanel: external CA selected");
- config.putString("preop.ca.type", "otherca");
- if (subsystem != null) {
- config.putString(PCERT_PREFIX + "signing.type", "remote");
- }
-
- config.putString("preop.ca.pkcs7", "");
- config.putInteger("preop.ca.certchain.size", 0);
- context.put("check_otherca", "checked");
- CMS.debug("NamePanel: update: this is the external CA.");
- } else {
- CMS.debug("NamePanel: local CA selected");
- url = url.substring(url.indexOf("https"));
- config.putString("preop.ca.url", url);
-
- urlx = new URL(url);
- String host = urlx.getHost();
- int port = urlx.getPort();
- String domainXML = config.getString("preop.domainXML");
- int admin_port = ConfigurationUtils.getPortFromSecurityDomain(domainXML,
- host, port, "CA", "SecurePort", "SecureAdminPort");
-
- config.putString("preop.ca.type", "sdca");
- config.putString("preop.ca.hostname", host);
- config.putInteger("preop.ca.httpsport", port);
- config.putInteger("preop.ca.httpsadminport", admin_port);
-
- context.put("check_sdca", "checked");
- context.put("sdcaHostname", host);
- context.put("sdHttpPort", port);
-
- ConfigurationUtils.importCertChain(host, admin_port, "/ca/admin/ca/getCertChain", "ca");
-
- if (subsystem != null) {
- config.putString(PCERT_PREFIX + "signing.type", "remote");
- config.putString(PCERT_PREFIX + "signing.profile", "caInstallCACert");
- }
- }
- config.commit(false);
-
- }
-
- Enumeration<Cert> c = mCerts.elements();
-
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- String ct = cert.getCertTag();
- boolean enable = config.getBoolean(PCERT_PREFIX + ct + ".enable", true);
- if (!enable)
- continue;
-
- boolean certDone = config.getBoolean(PCERT_PREFIX + ct + ".done", false);
- if (certDone)
- continue;
-
- // get the nicknames and put in config
- String nickname = HttpInput.getNickname(request, ct + "_nick");
- if (nickname != null) {
- CMS.debug("NamePanel: update: Setting nickname for " + ct + " to " + nickname);
- config.putString(PCERT_PREFIX + ct + ".nickname", nickname);
- cert.setNickname(nickname);
- } else {
- nickname = cert.getNickname();
- }
-
- // get the dn's and put in config
- String dn = HttpInput.getDN(request, ct);
-
- config.putString(PCERT_PREFIX + ct + ".dn", dn);
- // commit here in case it changes
- config.commit(false);
-
- ConfigurationUtils.configCert(request, response, context, cert, this);
- config.putBoolean("preop.cert." + cert.getCertTag() + ".done", true);
- config.commit(false);
-
- } // while
-
- config.putBoolean("preop.NamePanel.done", true);
- config.commit(false);
- } catch (Exception e) {
- CMS.debug("NamPanel - update(): Exception thrown : " + e);
- e.printStackTrace();
- context.put("updateStatus", "failure");
- throw new IOException(e);
- }
- context.put("updateStatus", "success");
-
- CMS.debug("NamePanel: update() done");
- }
-
- private void updateCloneSDCAInfo(HttpServletRequest request, Context context, String hostname, int httpsPort)
- throws IOException, EPropertyNotFound, EBaseException, SAXException, ParserConfigurationException {
- CMS.debug("NamePanel updateCloneSDCAInfo: selected CA hostname=" + hostname + " port=" + httpsPort);
- IConfigStore config = CMS.getConfigStore();
-
- if (hostname == null || hostname.length() == 0) {
- context.put("errorString", "Hostname is null");
- throw new IOException("Hostname is null");
- }
-
- // Retrieve the associated HTTPS Admin port so that it
- // may be stored for use with ImportAdminCertPanel
- String domainXML = config.getString("preop.domainXML");
- int https_admin_port = ConfigurationUtils.getPortFromSecurityDomain(domainXML,
- hostname, httpsPort, "CA", "SecurePort", "SecureAdminPort");
-
- config.putString("preop.ca.hostname", hostname);
- config.putInteger("preop.ca.httpsport", httpsPort);
- config.putInteger("preop.ca.httpsadminport", https_admin_port);
- }
-
- public void initParams(HttpServletRequest request, Context context)
- throws IOException {
- context.put("certs", mCerts);
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- try {
- initParams(request, context);
- } catch (IOException e) {
- }
- context.put("title", "Subject Names");
- context.put("panel", "admin/console/config/namepanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/RestoreKeyCertPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/RestoreKeyCertPanel.java
deleted file mode 100644
index 243e7e839..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/RestoreKeyCertPanel.java
+++ /dev/null
@@ -1,235 +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.cms.servlet.csadmin;
-
-import java.io.File;
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class RestoreKeyCertPanel extends WizardPanelBase {
-
- public RestoreKeyCertPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Import Keys and Certificates");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Import Keys and Certificates");
- setId(id);
- }
-
- /**
- * Should we skip this panel for the configuration.
- */
- public boolean shouldSkip() {
- CMS.debug("RestoreKeyCertPanel: should skip");
-
- IConfigStore cs = CMS.getConfigStore();
- // if we are root, no need to get the certificate chain.
-
- try {
- String select = cs.getString("preop.subsystem.select", "");
- if (select.equals("clone")) {
- return false;
- }
- } catch (EBaseException e) {
- }
-
- return true;
- }
-
- public boolean isSubPanel() {
- return true;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- /* clean up if necessary */
- try {
- @SuppressWarnings("unused")
- boolean done = cs.getBoolean("preop.restorekeycert.done"); // check for errors
- cs.putBoolean("preop.restorekeycert.done", false);
- cs.commit(false);
- } catch (Exception e) {
- }
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.restorekeycert.done", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Import Keys and Certificates");
- IConfigStore config = CMS.getConfigStore();
-
- if (isPanelDone()) {
-
- try {
- String s = config.getString("preop.pk12.path", "");
- context.put("path", s);
- } catch (Exception e) {
- CMS.debug(e.toString());
- }
- } else {
- context.put("path", "");
- }
-
- context.put("password", "");
- context.put("panel", "admin/console/config/restorekeycertpanel.vm");
- context.put("errorString", "");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
- String tokenname = "";
- try {
- tokenname = config.getString("preop.module.token", "");
- } catch (Exception e) {
- }
-
- if (!tokenname.equals("Internal Key Storage Token"))
- return;
-
- // Path can be empty. If this case, we just want to
- // get to the next panel. Customer has HSM.
- String s = HttpInput.getString(request, "path");
-
- if (s != null && !s.equals("")) {
- s = HttpInput.getPassword(request, "__password");
- if (s == null || s.equals("")) {
- CMS.debug("RestoreKeyCertPanel validate: password is empty");
- context.put("updateStatus", "validate-failure");
- throw new IOException("Empty password");
- }
- }
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore config = CMS.getConfigStore();
- try {
- ConfigurationUtils.getConfigEntriesFromMaster();
-
- String path = HttpInput.getString(request, "path");
- if (path == null || path.equals("")) {
- // skip to next panel
- config.putBoolean("preop.restorekeycert.done", true);
- config.commit(false);
- context.put("updateStatus", "success");
- return;
- }
-
- String pwd = HttpInput.getPassword(request, "__password");
-
- String tokenn = config.getString("preop.module.token");
- if (tokenn.equals("Internal Key Storage Token")) {
- String instanceRoot = config.getString("instanceRoot");
- String p12File = instanceRoot + File.separator + "alias" +
- File.separator + path;
- ConfigurationUtils.restoreCertsFromP12(p12File, pwd);
- }
-
- String subsystemtype = config.getString("preop.subsystem.select", "");
- if (subsystemtype.equals("clone")) {
- CMS.debug("RestoreKeyCertPanel: this is the clone subsystem");
- boolean cloneReady = ConfigurationUtils.isCertdbCloned();
- if (!cloneReady) {
- CMS.debug("RestoreKeyCertPanel update: clone does not have all the certificates.");
- throw new IOException("Clone is not ready");
- }
- }
-
- config.putBoolean("preop.restorekeycert.done", true);
- config.commit(false);
- } catch (Exception e) {
- CMS.debug("RestoreKeyCertPanel update: exception thrown:" + e);
- e.printStackTrace();
- context.put("errorString", e.toString());
- context.put("updateStatus", "failure");
- throw new IOException(e);
- }
-
- context.put("updateStatus", "success");
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Import Keys and Certificates");
- context.put("password", "");
- context.put("path", "");
- context.put("panel", "admin/console/config/restorekeycertpanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/SavePKCS12Panel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/SavePKCS12Panel.java
deleted file mode 100644
index cdcefbfe7..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/SavePKCS12Panel.java
+++ /dev/null
@@ -1,144 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class SavePKCS12Panel extends WizardPanelBase {
-
- public SavePKCS12Panel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Save Keys and Certificates");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Save Keys and Certificates");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- }
-
- public boolean shouldSkip() {
- IConfigStore cs = CMS.getConfigStore();
-
- try {
- boolean enable = cs.getBoolean("preop.backupkeys.enable", false);
- if (!enable)
- return true;
- } catch (Exception e) {
- }
-
- return false;
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.backupkeycert.done", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- return set;
- }
-
- public boolean isSubPanel() {
- return true;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Save Keys and Certificates");
- IConfigStore config = CMS.getConfigStore();
- String subsystemtype = "";
- try {
- subsystemtype = config.getString("cs.type", "");
- } catch (Exception e) {
- }
-
- subsystemtype = subsystemtype.toLowerCase();
-
- context.put("panel", "admin/console/config/savepkcs12panel.vm");
- context.put("subsystemtype", subsystemtype);
- context.put("errorString", "");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response, Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- context.put("title", "Save Keys and Certificates");
- context.put("panel", "admin/console/config/savepkcs12panel.vm");
- context.put("updateStatus", "success");
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Save Keys and Certificates");
- context.put("panel", "admin/console/config/savepkcs12panel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/SecurityDomainPanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/SecurityDomainPanel.java
deleted file mode 100644
index 3bc8169bb..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/SecurityDomainPanel.java
+++ /dev/null
@@ -1,482 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.StringTokenizer;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class SecurityDomainPanel extends WizardPanelBase {
-
- public SecurityDomainPanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- setPanelNo(panelno);
- setName("Security Domain");
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Security Domain");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putString("preop.securitydomain.select", "");
- cs.putString("securitydomain.select", "");
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String s = cs.getString("preop.securitydomain.select", "");
- if (s == null || s.equals("")) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- context.put("title", "Security Domain");
- IConfigStore config = CMS.getConfigStore();
- String errorString = "";
- String default_admin_url = "";
- String name = "";
- String systemdInstanceId = "";
-
- try {
- default_admin_url = config.getString("preop.securitydomain.admin_url", "");
- name = config.getString("preop.securitydomain.name", "");
- systemdInstanceId = config.getString("service.instanceID", "");
- } catch (Exception e) {
- CMS.debug(e.toString());
- }
- if (isPanelDone()) {
- try {
- String s = config.getString("preop.securitydomain.select");
-
- if (s.equals("new")) {
- context.put("check_newdomain", "checked");
- context.put("check_existingdomain", "");
- } else if (s.equals("existing")) {
- context.put("check_newdomain", "");
- context.put("check_existingdomain", "checked");
- }
- } catch (Exception e) {
- CMS.debug(e.toString());
- }
- } else {
- context.put("check_newdomain", "checked");
- context.put("check_existingdomain", "");
- }
-
- try {
- context.put("cstype", config.getString("cs.type"));
- context.put("wizardname", config.getString("preop.wizard.name"));
- context.put("panelname", "Security Domain Configuration");
- context.put("systemname", config.getString("preop.system.name"));
- context.put("machineName", config.getString("machineName"));
- context.put("http_ee_port", CMS.getEENonSSLPort());
- context.put("https_agent_port", CMS.getAgentPort());
- context.put("https_ee_port", CMS.getEESSLPort());
- context.put("https_admin_port", CMS.getAdminPort());
- context.put("sdomainAdminURL", default_admin_url);
- } catch (EBaseException e) {
- }
-
- context.put("panel", "admin/console/config/securitydomainpanel.vm");
- context.put("errorString", errorString);
-
- // from default_admin_url, find hostname, if fully qualified, get
- // network domain name and generate default security domain name
- if (name.equals("") && (default_admin_url != null)) {
- try {
- URL u = new URL(default_admin_url);
-
- String hostname = u.getHost();
- StringTokenizer st = new StringTokenizer(hostname, ".");
- boolean first = true;
- int numTokens = st.countTokens();
- int count = 0;
- String defaultDomain = "";
- StringBuffer sb = new StringBuffer();
- while (st.hasMoreTokens()) {
- count++;
- String n = st.nextToken();
- if (first) { //skip the hostname
- first = false;
- continue;
- }
- if (count == numTokens) // skip the last element (e.g. com)
- continue;
- sb.append((defaultDomain.length() == 0) ? "" : " ");
- sb.append(capitalize(n));
- }
- defaultDomain = sb.toString() + " " + "Domain";
- name = defaultDomain;
- CMS.debug("SecurityDomainPanel: defaultDomain generated:" + name);
- } catch (MalformedURLException e) {
- errorString = "Malformed URL";
- // not being able to come up with default domain name is ok
- }
- }
- context.put("sdomainName", name);
-
- if (default_admin_url != null) {
- String r = null;
-
- try {
- // check to see if "default" security domain exists
- // on local machine
- URL u = new URL(default_admin_url);
-
- String hostname = u.getHost();
- int port = u.getPort();
- ConfigCertApprovalCallback certApprovalCallback = new ConfigCertApprovalCallback();
- r = pingCS(hostname, port, true, certApprovalCallback);
- } catch (Exception e) {
- CMS.debug("SecurityDomainPanel: exception caught: "
- + e.toString());
- }
-
- if (r != null) {
- // "default" security domain exists on local machine;
- // fill "sdomainURL" in with "default" security domain
- // as an initial "guess"
- CMS.debug("SecurityDomainPanel: pingCS returns: " + r);
- context.put("sdomainURL", default_admin_url);
- } else {
- // "default" security domain does NOT exist on local machine;
- // leave "sdomainURL" blank
- CMS.debug("SecurityDomainPanel: pingCS no successful response");
- context.put("sdomainURL", "");
- }
- }
-
- // Information for "existing" Security Domain CAs
- String initDaemon = "&lt;pki_ca_instance_name&gt;";
- String instanceId = "&lt;security_domain_instance_name&gt;";
- String os = System.getProperty("os.name");
- if (os.equalsIgnoreCase("Linux")) {
- if (!systemdInstanceId.equals("")) {
- context.put("initCommand", "/usr/bin/pkidaemon");
- context.put("instanceId", "tomcat " + systemdInstanceId);
- } else {
- context.put("initCommand", "/sbin/service " + initDaemon);
- context.put("instanceId", instanceId);
- }
- } else {
- /* default case: e. g. - ( os.equalsIgnoreCase( "SunOS" ) */
- context.put("initCommand", "/etc/init.d/" + initDaemon);
- context.put("instanceId", instanceId);
- }
- }
-
- public static String capitalize(String s) {
- if (s.length() == 0) {
- return s;
- } else {
- return s.substring(0, 1).toUpperCase() + s.substring(1);
- }
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
-
- String select = HttpInput.getID(request, "choice");
- if (select.equals("newdomain")) {
- String name = HttpInput.getSecurityDomainName(request, "sdomainName");
- if (name == null || name.equals("")) {
- initParams(request, context);
- context.put("updateStatus", "validate-failure");
- throw new IOException("Missing name value for the security domain");
- }
- } else if (select.equals("existingdomain")) {
- CMS.debug("SecurityDomainPanel: validating "
- + "SSL Admin HTTPS . . .");
- String admin_url = HttpInput.getURL(request, "sdomainURL");
- if (admin_url == null || admin_url.equals("")) {
- initParams(request, context);
- context.put("updateStatus", "validate-failure");
- throw new IOException("Missing SSL Admin HTTPS url value "
- + "for the security domain");
- } else {
- String r = null;
-
- try {
- URL u = new URL(admin_url);
-
- String hostname = u.getHost();
- int admin_port = u.getPort();
- ConfigCertApprovalCallback certApprovalCallback = new ConfigCertApprovalCallback();
- r = pingCS(hostname, admin_port, true,
- certApprovalCallback);
- } catch (Exception e) {
- CMS.debug("SecurityDomainPanel: exception caught: "
- + e.toString());
- context.put("updateStatus", "validate-failure");
- throw new IOException("Illegal SSL Admin HTTPS url value "
- + "for the security domain");
- }
-
- if (r != null) {
- CMS.debug("SecurityDomainPanel: pingAdminCS returns: "
- + r);
- context.put("sdomainURL", admin_url);
- } else {
- CMS.debug("SecurityDomainPanel: pingAdminCS "
- + "no successful response for SSL Admin HTTPS");
- context.put("sdomainURL", "");
- }
- }
- }
- }
-
- public void initParams(HttpServletRequest request, Context context)
- throws IOException {
- IConfigStore config = CMS.getConfigStore();
- try {
- context.put("cstype", config.getString("cs.type"));
- } catch (Exception e) {
- }
-
- String select = request.getParameter("choice");
- if (select.equals("newdomain")) {
- context.put("check_newdomain", "checked");
- context.put("check_existingdomain", "");
- } else if (select.equals("existingdomain")) {
- context.put("check_newdomain", "");
- context.put("check_existingdomain", "checked");
- }
-
- String name = request.getParameter("sdomainName");
- if (name == null)
- name = "";
- context.put("sdomainName", name);
-
- String admin_url = request.getParameter("sdomainURL");
- if (admin_url == null)
- admin_url = "";
- context.put("sdomainURL", admin_url);
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- String select = HttpInput.getID(request, "choice");
-
- if (select == null) {
- CMS.debug("SecurityDomainPanel: choice not found");
- context.put("updateStatus", "failure");
- throw new IOException("choice not found");
- }
- IConfigStore config = CMS.getConfigStore();
-
- try {
- if (select.equals("newdomain")) {
- config.putString("preop.securitydomain.select", "new");
- config.putString("securitydomain.select", "new");
- config.putString("preop.securitydomain.name", HttpInput.getDomainName(request, "sdomainName"));
- config.putString("securitydomain.name", HttpInput.getDomainName(request, "sdomainName"));
- config.putString("securitydomain.host", CMS.getEENonSSLHost());
- config.putString("securitydomain.httpport", CMS.getEENonSSLPort());
- config.putString("securitydomain.httpsagentport", CMS.getAgentPort());
- config.putString("securitydomain.httpseeport", CMS.getEESSLPort());
- config.putString("securitydomain.httpsadminport", CMS.getAdminPort());
-
- // make sure the subsystem certificate is issued locallly
- config.putString("preop.cert.subsystem.type", "local");
- config.putString("preop.cert.subsystem.profile", "subsystemCert.profile");
-
- config.commit(false);
- } else if (select.equals("existingdomain")) {
- config.putString("preop.securitydomain.select", "existing");
- config.putString("securitydomain.select", "existing");
-
- // make sure the subsystem certificate is issued by the security domain
- config.putString("preop.cert.subsystem.type", "remote");
- config.putString("preop.cert.subsystem.profile", "caInternalAuthSubsystemCert");
-
- String admin_url = HttpInput.getURL(request, "sdomainURL");
- String hostname = "";
- int admin_port = -1;
-
- if (admin_url != null) {
- URL admin_u = new URL(admin_url);
- hostname = admin_u.getHost();
- admin_port = admin_u.getPort();
- context.put("sdomainURL", admin_url);
- config.putString("securitydomain.host", hostname);
- config.putInteger("securitydomain.httpsadminport", admin_port);
- }
- config.commit(false);
-
- ConfigurationUtils.importCertChain(hostname, admin_port, "/ca/admin/ca/getCertChain", "securitydomain");
- } else {
- CMS.debug("SecurityDomainPanel: invalid choice " + select);
- throw new IOException("invalid choice " + select);
- }
-
- config.commit(false);
-
- context.put("cstype", config.getString("cs.type"));
- context.put("wizardname", config.getString("preop.wizard.name"));
- context.put("panelname", "Security Domain Configuration");
- context.put("systemname", config.getString("preop.system.name"));
- } catch (Exception e) {
- CMS.debug("SecurityDomainPanel update(): Exception thrown:" + e);
- e.printStackTrace();
- context.put("errorString", e.toString());
- context.put("updateStatus", "failure");
- throw new IOException(e);
- }
-
- context.put("updateStatus", "success");
- }
-
- /**
- * If validate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- IConfigStore config = CMS.getConfigStore();
- String default_admin_url = "";
- try {
- initParams(request, context);
- } catch (IOException e) {
- }
-
- try {
- default_admin_url = config.getString("preop.securitydomain.admin_url", "");
- } catch (Exception e) {
- }
-
- if (default_admin_url != null) {
- String r = null;
-
- try {
- // check to see if "default" security domain exists on local machine
- URL u = new URL(default_admin_url);
-
- String hostname = u.getHost();
- int port = u.getPort();
- ConfigCertApprovalCallback certApprovalCallback = new ConfigCertApprovalCallback();
- r = pingCS(hostname, port, true, certApprovalCallback);
- } catch (Exception e) {
- }
-
- if (r != null) {
- // "default" security domain exists on local machine;
- // refill "sdomainURL" in with "default" security domain
- // as an initial "guess"
- context.put("sdomainURL", default_admin_url);
- } else {
- // "default" security domain does NOT exist on local machine;
- // leave "sdomainURL" blank
- context.put("sdomainURL", "");
- }
- }
-
- try {
- context.put("machineName", config.getString("machineName"));
- context.put("http_ee_port", CMS.getEENonSSLPort());
- context.put("https_agent_port", CMS.getAgentPort());
- context.put("https_ee_port", CMS.getEESSLPort());
- context.put("https_admin_port", CMS.getAdminPort());
- context.put("sdomainAdminURL",
- config.getString("preop.securitydomain.admin_url"));
- } catch (EBaseException e) {
- }
-
- // Information for "existing" Security Domain CAs
- String initDaemon = "&lt;pki_ca_instance_name&gt;";
- String instanceId = "&lt;security_domain_instance_name&gt;";
- String os = System.getProperty("os.name");
- String systemdInstanceId = "";
-
- try {
- systemdInstanceId = config.getString("service.instanceID", "");
- } catch (Exception e) {
- CMS.debug(e.toString());
- }
-
- if (os.equalsIgnoreCase("Linux")) {
- if (!systemdInstanceId.equals("")) {
- context.put("initCommand", "/usr/bin/pkidaemon");
- context.put("instanceId", "tomcat " + systemdInstanceId);
- } else {
- context.put("initCommand", "/sbin/service " + initDaemon);
- context.put("instanceId", instanceId);
- }
- } else {
- /* default case: e. g. - ( os.equalsIgnoreCase( "SunOS" ) */
- context.put("initCommand", "/etc/init.d/" + initDaemon);
- context.put("instanceId", instanceId);
- }
-
- context.put("title", "Security Domain");
- context.put("panel", "admin/console/config/securitydomainpanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/SizePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/SizePanel.java
deleted file mode 100644
index 45a4fe106..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/SizePanel.java
+++ /dev/null
@@ -1,491 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.Descriptor;
-import com.netscape.certsrv.property.IDescriptor;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.certsrv.util.HttpInput;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class SizePanel extends WizardPanelBase {
- private Vector<Cert> mCerts = null;
- private WizardServlet mServlet = null;
-
- private String default_ecc_curve_name;
- private String default_rsa_key_size;
- private boolean mShowSigning = false;
-
- public SizePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Key Pairs");
- setId(id);
- mServlet = servlet;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- Descriptor choiceDesc =
- new Descriptor(
- IDescriptor.CHOICE,
- "default,custom",
- null, /* no default parameter */
- "If 'default', the key size will be configured automatically. If 'custom', the key size will be set to the value of the parameter 'custom_size'.");
-
- set.add("choice", choiceDesc);
-
- Descriptor customSizeDesc = new Descriptor(IDescriptor.STRING, null, /* no constraint */
- null, /* no default parameter */
- "Custom Key Size");
-
- set.add("custom_size", customSizeDesc);
-
- return set;
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- /* clean up if necessary*/
- try {
- @SuppressWarnings("unused")
- boolean done = cs.getBoolean("preop.SizePanel.done"); // check for errors
- cs.putBoolean("preop.SizePanel.done", false);
- cs.commit(false);
- } catch (Exception e) {
- }
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- boolean s = cs.getBoolean("preop.SizePanel.done", false);
- if (s != true) {
- return false;
- } else {
- return true;
- }
- } catch (EBaseException e) {
- }
-
- return false;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("SizePanel: display()");
- try {
- initParams(request, context);
- } catch (IOException e) {
- }
-
- context.put("firsttime", "false");
- String errorString = "";
- mCerts = new Vector<Cert>();
-
- IConfigStore config = CMS.getConfigStore();
- try {
- @SuppressWarnings("unused")
- boolean done = config.getBoolean("preop.SizePanel.done"); // check whether it's first time
- } catch (Exception e) {
- context.put("firsttime", "true");
- }
-
- try {
- default_ecc_curve_name = config.getString("keys.ecc.curve.default", "nistp256");
- } catch (Exception e) {
- }
-
- try {
- default_rsa_key_size = config.getString("keys.rsa.keysize.default", "2048");
- } catch (Exception e) {
- }
-
- try {
- // same token for now
- String token = config.getString(PRE_CONF_CA_TOKEN);
- String certTags = config.getString("preop.cert.list");
- String rsaCertTags = config.getString("preop.cert.rsalist", "");
- context.put("rsaTags", rsaCertTags);
- StringTokenizer st = new StringTokenizer(certTags, ",");
- mShowSigning = false;
-
- while (st.hasMoreTokens()) {
- String certTag = st.nextToken();
- String nn = config.getString(PCERT_PREFIX + certTag + ".nickname");
- Cert c = new Cert(token, nn, certTag);
-
- String s = config.getString(PCERT_PREFIX + certTag + ".keysize.select", "default");
-
- if (s.equals("default")) {
- c.setKeyOption("default");
- }
- if (s.equals("custom")) {
- c.setKeyOption("custom");
- }
-
- s = config.getString(PCERT_PREFIX + certTag + ".keysize.custom_size",
- default_rsa_key_size);
- c.setCustomKeysize(s);
-
- s = config.getString(PCERT_PREFIX + certTag + ".curvename.custom_name",
- default_ecc_curve_name);
- c.setCustomCurvename(s);
-
- boolean signingRequired = config.getBoolean(
- PCERT_PREFIX + certTag + ".signing.required",
- false);
- c.setSigningRequired(signingRequired);
- if (signingRequired)
- mShowSigning = true;
-
- String userfriendlyname = config.getString(
- PCERT_PREFIX + certTag + ".userfriendlyname");
- c.setUserFriendlyName(userfriendlyname);
- boolean enable = config.getBoolean(PCERT_PREFIX + certTag + ".enable", true);
- c.setEnable(enable);
- mCerts.addElement(c);
- }// while
- } catch (Exception e) {
- CMS.debug("SizePanel: display() " + e.toString());
- }
- CMS.debug("SizePanel: display() 1");
-
- context.put("show_signing", mShowSigning ? "true" : "false");
- context.put("certs", mCerts);
- context.put("errorString", errorString);
- context.put("default_keysize", default_rsa_key_size);
- context.put("default_ecc_curvename", default_ecc_curve_name);
- context.put("panel", "admin/console/config/sizepanel.vm");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException, NumberFormatException {
- CMS.debug("SizePanel: update()");
- boolean hasErr = false;
- IConfigStore config = CMS.getConfigStore();
- String select1 = "";
- String val1 = null;
- boolean hasChanged = false;
- try {
- select1 = config.getString("preop.subsystem.select", "");
- } catch (Exception e) {
- }
-
- context.put("firsttime", "false");
- try {
- @SuppressWarnings("unused")
- boolean done = config.getBoolean("preop.SizePanel.done"); // check whether it's first time
- } catch (Exception e) {
- context.put("firsttime", "true");
- if (select1.equals("clone")) {
- // preset the sslserver dn for cloning case
- try {
- String val = config.getString("preop.cert.sslserver.dn", "");
- config.putString("preop.cert.sslserver.dn", val + ",o=clone");
- } catch (Exception ee) {
- }
- }
- }
-
- String token = "";
- try {
- token = config.getString(PRE_CONF_CA_TOKEN, "");
- Enumeration<Cert> c = mCerts.elements();
-
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- String ct = cert.getCertTag();
- boolean enable = config.getBoolean(PCERT_PREFIX + ct + ".enable", true);
- if (!enable)
- continue;
-
- String keytype = HttpInput.getKeyType(request, ct + "_keytype"); // rsa or ecc
-
- String keyalgorithm = HttpInput.getString(request, ct + "_keyalgorithm");
- if (keyalgorithm == null) {
- if (keytype != null && keytype.equals("ecc")) {
- keyalgorithm = "SHA256withEC";
- } else {
- keyalgorithm = "SHA256withRSA";
- }
- }
-
- String signingalgorithm = HttpInput.getString(request, ct + "_signingalgorithm");
- if (signingalgorithm == null) {
- signingalgorithm = keyalgorithm;
- }
-
- String select = HttpInput.getID(request, ct + "_choice");
-
- if (select == null) {
- CMS.debug("SizePanel: " + ct + "_choice not found");
- throw new IOException(
- "SizePanel: " + ct + "_choice not found");
- }
- CMS.debug("SizePanel: update() keysize choice selected:" + select);
- String oldkeysize = config.getString(PCERT_PREFIX + ct + ".keysize.size", "");
- String oldkeytype = config.getString(PCERT_PREFIX + ct + ".keytype", "");
- String oldkeyalgorithm = config.getString(PCERT_PREFIX + ct + ".keyalgorithm", "");
- String oldsigningalgorithm = config.getString(PCERT_PREFIX + ct + ".signingalgorithm", "");
- String oldcurvename = config.getString(PCERT_PREFIX + ct + ".curvename.name", "");
-
- if (select.equals("default")) {
- // XXXrenaming these...keep for now just in case
- config.putString("preop.keysize.select", "default");
- if (keytype != null && keytype.equals("ecc")) {
- config.putString("preop.curvename.custom_name", default_ecc_curve_name);
- config.putString("preop.curvename.name", default_ecc_curve_name);
- } else {
- config.putString("preop.keysize.custom_size", default_rsa_key_size);
- config.putString("preop.keysize.size", default_rsa_key_size);
- }
-
- config.putString(PCERT_PREFIX + ct + ".keytype", keytype);
- config.putString(PCERT_PREFIX + ct + ".keyalgorithm", keyalgorithm);
- config.putString(PCERT_PREFIX + ct + ".signingalgorithm", signingalgorithm);
- config.putString(PCERT_PREFIX + ct + ".keysize.select", "default");
-
- if (keytype != null && keytype.equals("ecc")) {
- config.putString(PCERT_PREFIX + ct +".curvename.custom_name",
- default_ecc_curve_name);
- config.putString(PCERT_PREFIX + ct + ".curvename.name",
- default_ecc_curve_name);
- } else {
- config.putString(PCERT_PREFIX + ct + ".keysize.custom_size",
- default_rsa_key_size);
- config.putString(PCERT_PREFIX + ct + ".keysize.size",
- default_rsa_key_size);
- }
- } else if (select.equals("custom")) {
- // XXXrenaming these...keep for now just in case
- config.putString("preop.keysize.select", "custom");
- if (keytype != null && keytype.equals("ecc")) {
- config.putString("preop.curvename.name",
- HttpInput.getString(request, ct + "_custom_curvename"));
- config.putString("preop.curvename.custom_name",
- HttpInput.getString(request, ct + "_custom_curvename"));
- } else {
- config.putString("preop.keysize.size",
- HttpInput.getKeySize(request, ct + "_custom_size", keytype));
- config.putString("preop.keysize.custom_size",
- HttpInput.getKeySize(request, ct + "_custom_size", keytype));
- }
-
- config.putString(PCERT_PREFIX + ct + ".keytype", keytype);
- config.putString(PCERT_PREFIX + ct + ".keyalgorithm", keyalgorithm);
- config.putString(PCERT_PREFIX + ct + ".signingalgorithm", signingalgorithm);
- config.putString(PCERT_PREFIX + ct + ".keysize.select", "custom");
-
- if (keytype != null && keytype.equals("ecc")) {
- config.putString(PCERT_PREFIX + ct + ".curvename.custom_name",
- HttpInput.getString(request, ct + "_custom_curvename"));
- config.putString(PCERT_PREFIX + ct + ".curvename.name",
- HttpInput.getString(request, ct + "_custom_curvename"));
- } else {
- config.putString(PCERT_PREFIX + ct + ".keysize.custom_size",
- HttpInput.getKeySize(request, ct + "_custom_size"));
- config.putString(PCERT_PREFIX + ct + ".keysize.size",
- HttpInput.getKeySize(request, ct + "_custom_size"));
- }
- } else {
- CMS.debug("SizePanel: invalid choice " + select);
- throw new IOException("invalid choice " + select);
- }
-
- String newkeysize = config.getString(PCERT_PREFIX + ct + ".keysize.size", "");
- String newkeytype = config.getString(PCERT_PREFIX + ct + ".keytype", "");
- String newkeyalgorithm = config.getString(PCERT_PREFIX + ct + ".keyalgorithm", "");
- String newsigningalgorithm = config.getString(PCERT_PREFIX + ct + ".signingalgorithm", "");
- String newcurvename = config.getString(PCERT_PREFIX + ct + ".curvename.name", "");
-
- if (!oldkeysize.equals(newkeysize) ||
- !oldkeytype.equals(newkeytype) ||
- !oldkeyalgorithm.equals(newkeyalgorithm) ||
- !oldsigningalgorithm.equals(newsigningalgorithm) ||
- !oldcurvename.equals(newcurvename))
- hasChanged = true;
- }// while
-
- try {
- config.commit(false);
- } catch (EBaseException e) {
- CMS.debug("SizePanel: update() Exception caught at config commit: " + e.toString());
- }
-
- val1 = HttpInput.getID(request, "generateKeyPair");
-
- if (hasChanged || (val1 != null && !val1.equals(""))) {
- mServlet.cleanUpFromPanel(mServlet.getPanelNo(request));
- } else if (isPanelDone()) {
- context.put("updateStatus", "success");
- return;
- }
- } catch (IOException e) {
- CMS.debug("SizePanel: update() IOException caught: " + e.toString());
- context.put("updateStatus", "failure");
- throw e;
- } catch (NumberFormatException e) {
- CMS.debug("SizePanel: update() NumberFormatException caught: " + e.toString());
- context.put("updateStatus", "failure");
- throw e;
- } catch (Exception e) {
- CMS.debug("SizePanel: update() Exception caught: " + e.toString());
- }
-
- // generate key pair
- Enumeration<Cert> c = mCerts.elements();
-
- while (c.hasMoreElements()) {
- Cert cert = c.nextElement();
- String ct = cert.getCertTag();
- String friendlyName = ct;
- boolean enable = true;
- try {
- enable = config.getBoolean(PCERT_PREFIX + ct + ".enable", true);
- friendlyName = config.getString(PCERT_PREFIX + ct + ".userfriendlyname", ct);
- } catch (Exception e) {
- }
-
- if (!enable)
- continue;
-
- try {
- String keytype = config.getString(PCERT_PREFIX + ct + ".keytype");
-
- if (keytype.equals("rsa")) {
- int keysize = config.getInteger(PCERT_PREFIX + ct + ".keysize.size");
- ConfigurationUtils.createRSAKeyPair(token, keysize, config, ct);
- } else {
- String curveName = config.getString(PCERT_PREFIX + ct + ".curvename.name", default_ecc_curve_name);
- ConfigurationUtils.createECCKeyPair(token, curveName, config, ct);
- }
- config.commit(false);
- } catch (Exception e) {
- CMS.debug(e);
- CMS.debug("SizePanel: key generation failure: " + e.toString());
- context.put("updateStatus", "failure");
- throw new IOException("key generation failure for the certificate: " + friendlyName +
- ". See the logs for details.");
- }
- } // while
-
- if (hasErr == false) {
- config.putBoolean("preop.SizePanel.done", true);
- try {
- config.commit(false);
- } catch (EBaseException e) {
- CMS.debug("SizePanel: update() Exception caught at config commit: "+ e.toString());
- }
- }
- CMS.debug("SizePanel: update() done");
- context.put("updateStatus", "success");
- }
-
- public void initParams(HttpServletRequest request, Context context)
- throws IOException {
- IConfigStore config = CMS.getConfigStore();
- String s = "";
- try {
- context.put("title", "Key Pairs");
-
- s = config.getString("preop.subsystem.select", "");
- context.put("select", s);
-
- s = config.getString("preop.hierarchy.select", "root");
- context.put("hselect", s);
-
- s = config.getString("preop.ecc.algorithm.list", "SHA256withEC,SHA1withEC,SHA384withEC,SHA512withEC");
- context.put("ecclist", s);
-
- s =
- config.getString("preop.rsa.algorithm.list",
- "SHA256withRSA,SHA1withRSA,SHA512withRSA,MD5withRSA,MD2withRSA");
- context.put("rsalist", s);
-
- s = config.getString("keys.ecc.curve.list", "nistp256");
- context.put("curvelist", s);
-
- s = config.getString("keys.ecc.curve.display.list", "nistp256");
- context.put("displaycurvelist", s);
-
- s = config.getString("pkicreate.subsystem_type");
- context.put("subsystemtype", s);
-
- } catch (Exception e) {
- CMS.debug("SizePanel(): initParams: unable to set all initial parameters:" + e);
- }
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- try {
- initParams(request, context);
- } catch (IOException e) {
- }
-
- context.put("certs", mCerts);
- context.put("show_signing", mShowSigning ? "true" : "false");
- context.put("default_keysize", default_rsa_key_size);
- context.put("default_ecc_curvename", default_ecc_curve_name);
-
- context.put("panel", "admin/console/config/sizepanel.vm");
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/WelcomePanel.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/WelcomePanel.java
deleted file mode 100644
index b5e921822..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/WelcomePanel.java
+++ /dev/null
@@ -1,128 +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.cms.servlet.csadmin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-
-public class WelcomePanel extends WizardPanelBase {
-
- public WelcomePanel() {
- }
-
- /**
- * Initializes this panel.
- */
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- setPanelNo(panelno);
- setName("Welcome");
- setId(id);
- }
-
- public void cleanUp() throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- cs.putBoolean("preop.welcome.done", false);
- }
-
- public boolean isPanelDone() {
- IConfigStore cs = CMS.getConfigStore();
- try {
- return cs.getBoolean("preop.welcome.done");
- } catch (EBaseException e) {
- }
- return false;
- }
-
- public PropertySet getUsage() {
- PropertySet set = new PropertySet();
-
- /* XXX */
-
- return set;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- IConfigStore cs = CMS.getConfigStore();
- CMS.debug("WelcomePanel: display()");
- context.put("title", "Welcome");
- try {
- context.put("cstype", cs.getString("cs.type"));
- context.put("wizardname", cs.getString("preop.wizard.name"));
- context.put("panelname",
- cs.getString("preop.system.fullname") + " Configuration Wizard");
- context.put("systemname",
- cs.getString("preop.system.name"));
- context.put("fullsystemname",
- cs.getString("preop.system.fullname"));
- context.put("productname",
- cs.getString("preop.product.name"));
- context.put("productversion",
- cs.getString("cms.product.version"));
- } catch (EBaseException e) {
- }
- context.put("panel", "admin/console/config/welcomepanel.vm");
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- IConfigStore cs = CMS.getConfigStore();
- try {
- cs.putBoolean("preop.welcome.done", true);
- cs.commit(false);
- } catch (EBaseException e) {
- }
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {/* This should never be called */
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/WizardPanelBase.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/WizardPanelBase.java
deleted file mode 100644
index 4fe641240..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/WizardPanelBase.java
+++ /dev/null
@@ -1,306 +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.cms.servlet.csadmin;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.Locale;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-import org.mozilla.jss.ssl.SSLCertificateApprovalCallback;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.property.PropertySet;
-import com.netscape.cms.servlet.base.UserInfo;
-import com.netscape.cms.servlet.wizard.IWizardPanel;
-import com.netscape.cms.servlet.wizard.WizardServlet;
-import com.netscape.cmsutil.xml.XMLObject;
-
-public class WizardPanelBase implements IWizardPanel {
- public static String PCERT_PREFIX = "preop.cert.";
- public static String SUCCESS = "0";
- public static String FAILURE = "1";
- public static String AUTH_FAILURE = "2";
-
- /**
- * Definition for static variables in CS.cfg
- */
- public static final String CONF_CA_CERT = "ca.signing.cert";
- public static final String CONF_CA_CERTREQ = "ca.signing.certreq";
- public static final String CONF_CA_CERTNICKNAME = "ca.signing.certnickname";
-
- public static final String PRE_CONF_ADMIN_NAME = "preop.admin.name";
- public static final String PRE_CONF_AGENT_GROUP = "preop.admin.group";
-
- /**
- * Definition for "preop" static variables in CS.cfg
- * -- "preop" config parameters should not assumed to exist after configuation
- */
-
- public static final String PRE_CONF_CA_TOKEN = "preop.module.token";
- public static final String PRE_CA_TYPE = "preop.ca.type";
- public static final String PRE_OTHER_CA = "otherca";
- public static final String PRE_ROOT_CA = "rootca";
-
- private String mName = null;
- private int mPanelNo = 0;
- private String mId = null;
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException {
- mPanelNo = panelno;
- }
-
- public void init(WizardServlet servlet, ServletConfig config, int panelno, String id)
- throws ServletException {
- mPanelNo = panelno;
- }
-
- /**
- * Cleans up this panel so that isPanelDone() will return false.
- */
- public void cleanUp() throws IOException {
- }
-
- public String getName() {
- return mName;
- }
-
- public int getPanelNo() {
- return mPanelNo;
- }
-
- public void setPanelNo(int num) {
- mPanelNo = num;
- }
-
- public void setName(String name) {
- mName = name;
- }
-
- public void setId(String id) {
- mId = id;
- }
-
- public String getId() {
- return mId;
- }
-
- public PropertySet getUsage() {
- PropertySet set = null;
-
- return set;
- }
-
- /**
- * Should we skip this panel?
- */
- public boolean shouldSkip() {
- return false;
- }
-
- /**
- * Is this panel done
- */
- public boolean isPanelDone() {
- return false;
- }
-
- /**
- * Show "Apply" button on frame?
- */
- public boolean showApplyButton() {
- return false;
- }
-
- /**
- * Is this a subPanel?
- */
- public boolean isSubPanel() {
- return false;
- }
-
- public boolean isLoopbackPanel() {
- return false;
- }
-
- /**
- * has subPanels?
- */
- public boolean hasSubPanel() {
- return false;
- }
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- }
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException {
- }
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- }
-
- /**
- * Retrieves locale based on the request.
- */
- public Locale getLocale(HttpServletRequest req) {
- Locale locale = null;
- String lang = req.getHeader("accept-language");
-
- if (lang == null) {
- // use server locale
- locale = Locale.getDefault();
- } else {
- locale = new Locale(UserInfo.getUserLanguage(lang),
- UserInfo.getUserCountry(lang));
- }
- return locale;
- }
-
- public boolean authenticate(String hostname, int port, boolean https,
- String servlet, String uri) throws IOException {
- CMS.debug("WizardPanelBase authenticate start");
- String c = ConfigurationUtils.getHttpResponse(hostname, port, https, servlet, uri, null);
- IConfigStore cs = CMS.getConfigStore();
-
- if (c != null) {
- try {
- ByteArrayInputStream bis = new ByteArrayInputStream(c.getBytes());
- XMLObject parser = null;
-
- try {
- parser = new XMLObject(bis);
- } catch (Exception e) {
- CMS.debug("WizardPanelBase::authenticate() - "
- + "Exception=" + e.toString());
- throw new IOException(e.toString());
- }
-
- String status = parser.getValue("Status");
-
- CMS.debug("WizardPanelBase authenticate: status=" + status);
-
- if (status.equals(SUCCESS)) {
- String cookie = parser.getValue("Cookie");
- cs.putString("preop.cookie", cookie);
- return true;
- } else {
- return false;
- }
- } catch (Exception e) {
- CMS.debug("WizardPanelBase: authenticate: " + e.toString());
- throw new IOException(e.toString());
- }
- }
-
- return false;
- }
-
- public String pingCS(String hostname, int port, boolean https,
- SSLCertificateApprovalCallback certApprovalCallback)
- throws IOException {
- CMS.debug("WizardPanelBase pingCS: started");
-
- String c = ConfigurationUtils.getHttpResponse(hostname, port, https,
- "/ca/admin/ca/getStatus",
- null, null, certApprovalCallback);
-
- if (c != null) {
- try {
- ByteArrayInputStream bis = new ByteArrayInputStream(c.getBytes());
- XMLObject parser = null;
- String state = null;
-
- try {
- parser = new XMLObject(bis);
- CMS.debug("WizardPanelBase pingCS: got XML parsed");
- state = parser.getValue("State");
-
- if (state != null) {
- CMS.debug("WizardPanelBase pingCS: state=" + state);
- }
- } catch (Exception e) {
- CMS.debug("WizardPanelBase: pingCS: parser failed"
- + e.toString());
- }
-
- return state;
- } catch (Exception e) {
- CMS.debug("WizardPanelBase: pingCS: " + e.toString());
- throw new IOException(e.toString());
- }
- }
-
- CMS.debug("WizardPanelBase pingCS: stopped");
- return null;
- }
-
- public void reloginSecurityDomain(HttpServletResponse response) {
- IConfigStore cs = CMS.getConfigStore();
- try {
- String hostname = cs.getString("securitydomain.host", "");
- int port = cs.getInteger("securitydomain.httpsadminport", -1);
- String cs_hostname = cs.getString("machineName", "");
- int cs_port = cs.getInteger("pkicreate.admin_secure_port", -1);
- int panel = getPanelNo();
- String subsystem = cs.getString("cs.type", "");
- String urlVal =
- "https://"
- + cs_hostname + ":" + cs_port + "/" + subsystem.toLowerCase()
- + "/admin/console/config/wizard?p=" + panel + "&subsystem=" + subsystem;
- String encodedValue = URLEncoder.encode(urlVal, "UTF-8");
- String sdurl = "https://" + hostname + ":" + port + "/ca/admin/ca/securityDomainLogin?url=" + encodedValue;
- response.sendRedirect(sdurl);
- } catch (Exception e) {
- CMS.debug("WizardPanelBase reloginSecurityDomain: Exception=" + e.toString());
- }
- }
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/wizard/IWizardPanel.java b/base/server/cms/src/com/netscape/cms/servlet/wizard/IWizardPanel.java
deleted file mode 100644
index d9d3ddec7..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/wizard/IWizardPanel.java
+++ /dev/null
@@ -1,111 +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.cms.servlet.wizard;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.context.Context;
-
-import com.netscape.certsrv.property.PropertySet;
-
-public interface IWizardPanel {
-
- /**
- * Initializes this panel.
- */
- public void init(ServletConfig config, int panelno)
- throws ServletException;
-
- public void init(WizardServlet servlet, ServletConfig config,
- int panelno, String id) throws ServletException;
-
- public String getName();
-
- public int getPanelNo();
-
- public void setId(String id);
-
- public String getId();
-
- public PropertySet getUsage();
-
- /**
- * Should we skip this panel to the next one?
- */
- public boolean shouldSkip();
-
- /**
- * Cleans up panel so that isPanelDone returns false
- */
- public void cleanUp() throws IOException;
-
- /**
- * Is this panel done
- */
- public boolean isPanelDone();
-
- /**
- * Show "Apply" button on frame?
- */
- public boolean showApplyButton();
-
- /**
- * Is this a subPanel?
- */
- public boolean isSubPanel();
-
- public boolean isLoopbackPanel();
-
- /**
- * has subPanels?
- */
- public boolean hasSubPanel();
-
- /**
- * Display the panel.
- */
- public void display(HttpServletRequest request,
- HttpServletResponse response,
- Context context);
-
- /**
- * Checks if the given parameters are valid.
- */
- public void validate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException;
-
- /**
- * Commit parameter changes
- */
- public void update(HttpServletRequest request,
- HttpServletResponse response,
- Context context) throws IOException;
-
- /**
- * If validiate() returns false, this method will be called.
- */
- public void displayError(HttpServletRequest request,
- HttpServletResponse response,
- Context context);
-}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/wizard/WizardServlet.java b/base/server/cms/src/com/netscape/cms/servlet/wizard/WizardServlet.java
deleted file mode 100644
index 6deab6bc0..000000000
--- a/base/server/cms/src/com/netscape/cms/servlet/wizard/WizardServlet.java
+++ /dev/null
@@ -1,489 +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.cms.servlet.wizard;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.velocity.Template;
-import org.apache.velocity.app.Velocity;
-import org.apache.velocity.context.Context;
-import org.apache.velocity.servlet.VelocityServlet;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.cms.servlet.csadmin.Cert;
-import com.netscape.cmsutil.crypto.Module;
-
-/**
- * wizard?p=[panel number]&op=usage <= usage in xml
- * wizard?p=[panel number]&op=display
- * wizard?p=[panel number]&op=next&...[additional parameters]...
- * wizard?p=[panel number]&op=apply
- * wizard?p=[panel number]&op=back
- * wizard?op=menu
- * return menu options
- */
-@SuppressWarnings("deprecation")
-public class WizardServlet extends VelocityServlet {
-
- /**
- *
- */
- private static final long serialVersionUID = -4513510177445656799L;
- private String name = null;
- private Vector<IWizardPanel> mPanels = new Vector<IWizardPanel>();
-
- public void init(ServletConfig config) throws ServletException {
- super.init(config);
-
- /* load sequence map */
- name = config.getInitParameter("name");
- String panels = config.getInitParameter("panels");
- StringTokenizer st = new StringTokenizer(panels, ",");
- int pno = 0;
- while (st.hasMoreTokens()) {
- String p = st.nextToken();
- StringTokenizer st1 = new StringTokenizer(p, "=");
- String id = st1.nextToken();
- String pvalue = st1.nextToken();
- try {
- IWizardPanel panel = (IWizardPanel) Class.forName(pvalue).newInstance();
- panel.init(this, config, pno, id);
- CMS.debug("WizardServlet: panel name=" + panel.getName());
- mPanels.addElement(panel);
- } catch (Exception e) {
- CMS.debug("WizardServlet: " + e.toString());
- }
- pno++;
- }
- CMS.debug("WizardServlet: done");
-
- }
-
- public void exposePanels(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- Enumeration<IWizardPanel> e = mPanels.elements();
- Vector<IWizardPanel> panels = new Vector<IWizardPanel>();
- while (e.hasMoreElements()) {
- IWizardPanel p = e.nextElement();
- panels.addElement(p);
- }
- context.put("panels", panels);
- }
-
- /**
- * Cleans up panels from a particular panel.
- */
- public void cleanUpFromPanel(int pno) throws IOException {
- /* panel number starts from zero */
- int s = mPanels.size();
- for (int i = pno; i < s; i++) {
- IWizardPanel panel = mPanels.elementAt(i);
- panel.cleanUp();
- }
- }
-
- public IWizardPanel getPanelByNo(int p) {
- IWizardPanel panel = mPanels.elementAt(p);
- if (panel.shouldSkip()) {
- panel = getPanelByNo(p + 1);
- }
- return panel;
- }
-
- public Template displayPanel(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("WizardServlet: in display");
- int p = getPanelNo(request);
-
- if (p == 0) {
- CMS.debug("WizardServlet: firstpanel");
- context.put("firstpanel", Boolean.TRUE);
- }
- if (p == (mPanels.size() - 1)) {
- CMS.debug("WizardServlet: lastpanel");
- context.put("lastpanel", Boolean.TRUE);
- }
- IWizardPanel panel = getPanelByNo(p);
- CMS.debug("WizardServlet: panel=" + panel);
-
- if (panel.showApplyButton() == true)
- context.put("showApplyButton", Boolean.TRUE);
- else
- context.put("showApplyButton", Boolean.FALSE);
-
- panel.display(request, response, context);
- context.put("p", Integer.toString(panel.getPanelNo()));
-
- try {
- return Velocity.getTemplate("admin/console/config/wizard.vm");
- } catch (Exception e) {
- }
- return null;
- }
-
- public String xml_value_flatten(Object v) {
- String ret = "";
- if (v instanceof String) {
- ret += v;
- } else if (v instanceof Integer) {
- ret += ((Integer) v).toString();
- } else if (v instanceof Vector) {
- ret += "<Vector>";
- Vector<?> v1 = (Vector<?>) v;
- Enumeration<?> e = v1.elements();
- StringBuffer sb = new StringBuffer();
- while (e.hasMoreElements()) {
- sb.append(xml_value_flatten(e.nextElement()));
- }
- ret += sb.toString();
- ret += "</Vector>";
- } else if (v instanceof Module) { // for hardware token
- Module m = (Module) v;
- ret += "<Module>";
- ret += "<CommonName>" + m.getCommonName() + "</CommonName>";
- ret += "<UserFriendlyName>" + m.getUserFriendlyName() + "</UserFriendlyName>";
- ret += "<ImagePath>" + m.getImagePath() + "</ImagePath>";
- ret += "</Module>";
- } else if (v instanceof Cert) {
- Cert m = (Cert) v;
- ret += "<CertReqPair>";
- ret += "<Nickname>" + m.getNickname() + "</Nickname>";
- ret += "<Tokenname>" + m.getTokenname() + "</Tokenname>";
- ret += "<Request>" + m.getRequest() + "</Request>";
- ret += "<Certificate>" + m.getCert() + "</Certificate>";
- ret += "<Type>" + m.getType() + "</Type>";
- ret += "<DN>" + m.getDN() + "</DN>";
- ret += "<CertPP>" + m.getCertpp() + "</CertPP>";
- ret += "<KeyOption>" + m.getKeyOption() + "</KeyOption>";
- ret += "</CertReqPair>";
- } else if (v instanceof IWizardPanel) {
- IWizardPanel m = (IWizardPanel) v;
- ret += "<Panel>";
- ret += "<Id>" + m.getId() + "</Id>";
- ret += "<Name>" + m.getName() + "</Name>";
- ret += "</Panel>";
- } else {
- CMS.debug("Error: unknown type " + v.getClass().getName());
- }
- return ret;
- }
-
- public String xml_flatten(Context context) {
- StringBuffer ret = new StringBuffer();
- Object o[] = context.getKeys();
- for (int i = 0; i < o.length; i++) {
- if (o[i] instanceof String) {
- String key = (String) o[i];
- if (key.startsWith("__")) {
- continue;
- }
- ret.append("<");
- ret.append(key);
- ret.append(">");
- if (key.equals("bindpwd")) {
- ret.append("(sensitive)");
- } else {
- Object v = context.get(key);
- ret.append(xml_value_flatten(v));
- }
- ret.append("</");
- ret.append(key);
- ret.append(">");
- }
- }
- return ret.toString();
- }
-
- public int getPanelNo(HttpServletRequest request) {
- int p = 0;
-
- // panel number can be identified by either
- // panel no (p parameter) directly, or
- // panel name (panelname parameter).
- if (request.getParameter("panelname") != null) {
- String name = request.getParameter("panelname");
- for (int i = 0; i < mPanels.size(); i++) {
- IWizardPanel panel = mPanels.elementAt(i);
- if (panel.getId().equals(name)) {
- return i;
- }
- }
- } else if (request.getParameter("p") != null) {
- p = Integer.parseInt(request.getParameter("p"));
- }
- return p;
- }
-
- public String getNameFromPanelNo(int p) {
- IWizardPanel wp = mPanels.elementAt(p);
- return wp.getId();
- }
-
- public IWizardPanel getPreviousPanel(int p) {
- CMS.debug("getPreviousPanel input p=" + p);
- IWizardPanel backpanel = mPanels.elementAt(p - 1);
- if (backpanel.isSubPanel()) {
- backpanel = mPanels.elementAt(p - 1 - 1);
- }
- while (backpanel.shouldSkip()) {
- backpanel = mPanels.elementAt(backpanel.getPanelNo() - 1);
- }
- CMS.debug("getPreviousPanel output p=" + backpanel.getPanelNo());
- return backpanel;
- }
-
- public IWizardPanel getNextPanel(int p) {
- CMS.debug("getNextPanel input p=" + p);
- IWizardPanel panel = mPanels.elementAt(p);
- if (p == (mPanels.size() - 1)) {
- // p = p;
- } else if (panel.isSubPanel()) {
- if (panel.isLoopbackPanel()) {
- p = p - 1; // Login Panel is a loop back panel
- } else {
- p = p + 1;
- }
- } else if (panel.hasSubPanel()) {
- p = p + 2;
- } else {
- p = p + 1;
- }
- IWizardPanel nextpanel = getPanelByNo(p);
- CMS.debug("getNextPanel output p=" + p);
- return nextpanel;
- }
-
- public Template goApply(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- return goNextApply(request, response, context, true);
- }
-
- public Template goNext(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- return goNextApply(request, response, context, false);
- }
-
- /*
- * The parameter "stay" is used to indicate "apply" without
- * moving to the next panel
- */
- public Template goNextApply(HttpServletRequest request,
- HttpServletResponse response,
- Context context, boolean stay) {
- int p = getPanelNo(request);
- if (stay == true)
- CMS.debug("WizardServlet: in reply " + p);
- else
- CMS.debug("WizardServlet: in next " + p);
-
- IWizardPanel panel = mPanels.elementAt(p);
- try {
- panel.validate(request, response, context);
- try {
- panel.update(request, response, context);
- if (stay == true) { // "apply"
-
- if (panel.showApplyButton() == true)
- context.put("showApplyButton", Boolean.TRUE);
- else
- context.put("showApplyButton", Boolean.FALSE);
- panel.display(request, response, context);
- } else { // "next"
- IWizardPanel nextpanel = getNextPanel(p);
-
- if (nextpanel.showApplyButton() == true)
- context.put("showApplyButton", Boolean.TRUE);
- else
- context.put("showApplyButton", Boolean.FALSE);
- nextpanel.display(request, response, context);
- panel = nextpanel;
- }
- context.put("errorString", "");
- } catch (Exception e) {
- context.put("errorString", e.getMessage());
- panel.displayError(request, response, context);
- }
- } catch (IOException eee) {
- context.put("errorString", eee.getMessage());
- panel.displayError(request, response, context);
- }
- p = panel.getPanelNo();
- CMS.debug("panel no=" + p);
- CMS.debug("panel name=" + getNameFromPanelNo(p));
- CMS.debug("total number of panels=" + mPanels.size());
- context.put("p", Integer.toString(p));
- context.put("panelname", getNameFromPanelNo(p));
- if (p == 0) {
- CMS.debug("WizardServlet: firstpanel");
- context.put("firstpanel", Boolean.TRUE);
- }
- if (p == (mPanels.size() - 1)) {
- CMS.debug("WizardServlet: lastpanel");
- context.put("lastpanel", Boolean.TRUE);
- }
- // this is where we handle the xml request
- String xml = request.getParameter("xml");
- if (xml != null && xml.equals("true")) {
- CMS.debug("WizardServlet: found xml");
-
- response.setContentType("application/xml");
- String xmlstr = xml_flatten(context);
- context.put("xml", xmlstr);
- try {
- return Velocity.getTemplate("admin/console/config/xml.vm");
- } catch (Exception e) {
- CMS.debug("Failing to get template" + e);
- }
- } else {
- try {
- return Velocity.getTemplate("admin/console/config/wizard.vm");
- } catch (Exception e) {
- CMS.debug("Failing to get template" + e);
- }
- }
- return null;
- }
-
- public Template goBack(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- int p = getPanelNo(request);
- CMS.debug("WizardServlet: in back " + p);
- IWizardPanel backpanel = getPreviousPanel(p);
-
- if (backpanel.showApplyButton() == true)
- context.put("showApplyButton", Boolean.TRUE);
- else
- context.put("showApplyButton", Boolean.FALSE);
- backpanel.display(request, response, context);
- context.put("p", Integer.toString(backpanel.getPanelNo()));
- context.put("panelname", getNameFromPanelNo(backpanel.getPanelNo()));
-
- p = backpanel.getPanelNo();
-
- if (p == 0) {
- CMS.debug("WizardServlet: firstpanel");
- context.put("firstpanel", Boolean.TRUE);
- }
- if (p == (mPanels.size() - 1)) {
- CMS.debug("WizardServlet: lastpanel");
- context.put("lastpanel", Boolean.TRUE);
- }
- try {
- return Velocity.getTemplate("admin/console/config/wizard.vm");
- } catch (Exception e) {
- }
- return null;
- }
-
- public boolean authenticate(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- String pin = (String) request.getSession().getAttribute("pin");
- if (pin == null) {
- try {
- response.sendRedirect("login");
- } catch (IOException e) {
- }
- return false;
- }
- return true;
- }
-
- public void outputHttpParameters(HttpServletRequest httpReq) {
- CMS.debug("WizardServlet:service() uri = " + httpReq.getRequestURI());
- Enumeration<String> paramNames = httpReq.getParameterNames();
- while (paramNames.hasMoreElements()) {
- String pn = paramNames.nextElement();
- // added this facility so that password can be hidden,
- // all sensitive parameters should be prefixed with
- // __ (double underscores); however, in the event that
- // a security parameter slips through, we perform multiple
- // additional checks to insure that it is NOT displayed
- if (pn.startsWith("__") ||
- pn.endsWith("password") ||
- pn.endsWith("passwd") ||
- pn.endsWith("pwd") ||
- pn.equalsIgnoreCase("admin_password_again") ||
- pn.equalsIgnoreCase("directoryManagerPwd") ||
- pn.equalsIgnoreCase("bindpassword") ||
- pn.equalsIgnoreCase("bindpwd") ||
- pn.equalsIgnoreCase("passwd") ||
- pn.equalsIgnoreCase("password") ||
- pn.equalsIgnoreCase("pin") ||
- pn.equalsIgnoreCase("pwd") ||
- pn.equalsIgnoreCase("pwdagain") ||
- pn.equalsIgnoreCase("uPasswd")) {
- CMS.debug("WizardServlet::service() param name='" + pn +
- "' value='(sensitive)'");
- } else {
- CMS.debug("WizardServlet::service() param name='" + pn +
- "' value='" + httpReq.getParameter(pn) + "'");
- }
- }
- }
-
- public Template handleRequest(HttpServletRequest request,
- HttpServletResponse response,
- Context context) {
- CMS.debug("WizardServlet: process");
-
- if (CMS.debugOn()) {
- outputHttpParameters(request);
- }
-
- if (!authenticate(request, response, context)) {
- CMS.debug("WizardServlet: authentication failure");
- return null;
- }
-
- String op = request.getParameter("op"); /* operation */
- if (op == null) {
- op = "display";
- }
- CMS.debug("WizardServlet: op=" + op);
- CMS.debug("WizardServlet: size=" + mPanels.size());
-
- context.put("name", name);
- context.put("size", Integer.toString(mPanels.size()));
- exposePanels(request, response, context);
-
- if (op.equals("display")) {
- return displayPanel(request, response, context);
- } else if (op.equals("next")) {
- return goNext(request, response, context);
- } else if (op.equals("apply")) {
- return goApply(request, response, context);
- } else if (op.equals("back")) {
- return goBack(request, response, context);
- }
- return null;
- }
-}