diff --git a/base/server/src/main/java/com/netscape/cms/servlet/csadmin/Configurator.java b/base/server/src/main/java/com/netscape/cms/servlet/csadmin/Configurator.java deleted file mode 100644 index 72d82752116..00000000000 --- a/base/server/src/main/java/com/netscape/cms/servlet/csadmin/Configurator.java +++ /dev/null @@ -1,176 +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) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; - -import java.util.StringTokenizer; - -import javax.ws.rs.core.MultivaluedHashMap; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.core.Response; - -import org.mozilla.jss.ssl.SSLCertificateApprovalCallback; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.netscape.certsrv.account.AccountClient; -import com.netscape.certsrv.base.PKIException; -import com.netscape.certsrv.client.ClientConfig; -import com.netscape.certsrv.client.PKIClient; -import com.netscape.certsrv.system.InstallToken; -import com.netscape.certsrv.system.SecurityDomainClient; -import com.netscape.cmscore.apps.CMSEngine; -import com.netscape.cmscore.apps.EngineConfig; -import com.netscape.cmscore.apps.ServerConfig; - -/** - * Utility class for functions to be used by the RESTful installer. - * - * @author alee - * - */ -public class Configurator { - - public final static Logger logger = LoggerFactory.getLogger(Configurator.class); - - public static ConfigCertApprovalCallback certApprovalCallback = new ConfigCertApprovalCallback(); - - protected CMSEngine engine; - protected EngineConfig cs; - protected ServerConfig serverConfig; - - public Configurator(CMSEngine engine) { - this.engine = engine; - this.cs = engine.getConfig(); - this.serverConfig = engine.getServerConfig(); - } - - public static PKIClient createClient( - String serverURL, - String clientnickname, - SSLCertificateApprovalCallback certApprovalCallback) - throws Exception { - - ClientConfig config = new ClientConfig(); - config.setServerURL(serverURL); - config.setCertNickname(clientnickname); - - if (certApprovalCallback == null) certApprovalCallback = Configurator.certApprovalCallback; - - return new PKIClient(config, null, certApprovalCallback); - } - - public void setConfigStore(EngineConfig cs) { - this.cs = cs; - } - - public void setServerConfig(ServerConfig serverConfig) throws Exception { - this.serverConfig = serverConfig; - } - - public String getInstallToken(String sdhost, int sdport, String user, String passwd) throws Exception { - - String csType = engine.getName(); - - ClientConfig config = new ClientConfig(); - config.setServerURL("https://" + sdhost + ":" + sdport); - config.setUsername(user); - config.setPassword(passwd); - - PKIClient client = new PKIClient(config); - - // Ignore the "UNTRUSTED_ISSUER" validity status - // during PKI instance creation since we are - // utilizing an untrusted temporary CA certificate. - client.addIgnoredCertStatus(SSLCertificateApprovalCallback.ValidityStatus.UNTRUSTED_ISSUER); - - // Ignore the "CA_CERT_INVALID" validity status - // during PKI instance creation since we are - // utilizing an untrusted temporary CA certificate. - client.addIgnoredCertStatus(SSLCertificateApprovalCallback.ValidityStatus.CA_CERT_INVALID); - - AccountClient accountClient = new AccountClient(client, "ca", "rest"); - SecurityDomainClient sdClient = new SecurityDomainClient(client, "ca"); - - try { - logger.info("Logging into security domain"); - accountClient.login(); - - logger.info("Getting install token"); - InstallToken token = sdClient.getInstallToken(sdhost, csType); - - logger.info("Logging out of security domain"); - accountClient.logout(); - - return token.getToken(); - - } catch (PKIException e) { - if (e.getCode() == Response.Status.NOT_FOUND.getStatusCode()) { - // try the old servlet - logger.warn("Getting old cookie"); - String tokenString = getOldCookie(sdhost, sdport, user, passwd); - logger.debug("Token: " + tokenString); - return tokenString; - } - throw e; - } - } - - public String getOldCookie(String sdhost, int sdport, String user, String passwd) throws Exception { - - String subca_url = "https://" + cs.getHostname() + ":" - + engine.getAdminPort() + "/ca/admin/console/config/wizard" + - "?p=5&subsystem=" + engine.getName(); - - MultivaluedMap content = new MultivaluedHashMap<>(); - content.putSingle("uid", user); - content.putSingle("pwd", passwd); - content.putSingle("url", subca_url); - - String serverURL = "https://" + sdhost + ":" + sdport; - - PKIClient client = Configurator.createClient(serverURL, null, null); - String response = client.post("ca/admin/ca/getCookie", content, String.class); - logger.debug("Configurator: Response: " + response); - - return getContentValue(response, "header.session_id"); - } - - public String getContentValue(String body, String header) { - - logger.debug("Configurator: searching for " + header); - - StringTokenizer st = new StringTokenizer(body, "\n"); - - while (st.hasMoreTokens()) { - String line = st.nextToken(); - // format for line assumed to be name="value"; - - int eqPos = line.indexOf('='); - if (eqPos != -1) { - String name = line.substring(0, eqPos).trim(); - String tempval = line.substring(eqPos + 1).trim(); - String value = tempval.replaceAll("(^\")|(\";$)", ""); - - if (name.equals(header)) { - return value; - } - } - } - return null; - } -}