From c4636a5b56bd3e0f18fb3afd0b930729d58ce1f6 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Thu, 19 Jul 2012 01:51:50 -0500 Subject: Added ClientConfig. A new ClientConfig class has been added to encapsulate client configuration parameters. These parameters include server URI, certificate database, certificate nickname, and password. Ticket #107 --- .../cms/servlet/csadmin/CMSRestClient.java | 28 ++++++++++------------ .../servlet/csadmin/ConfigurationRESTClient.java | 9 ++++--- .../cms/servlet/csadmin/ConfigurationUtils.java | 10 +++++--- 3 files changed, 24 insertions(+), 23 deletions(-) (limited to 'base/common/src/com/netscape/cms/servlet') diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java b/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java index 7667dc70d..6a38464dc 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java @@ -32,29 +32,25 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; import org.mozilla.jss.ssl.SSLCertificateApprovalCallback; import org.mozilla.jss.ssl.SSLSocket; +import com.netscape.cms.client.cli.ClientConfig; + public abstract class CMSRestClient { protected boolean verbose; - protected String clientCertNickname; + protected ClientConfig config; + protected ResteasyProviderFactory providerFactory; protected ClientErrorHandler errorHandler; protected ClientExecutor executor; - protected URI uri; - - public CMSRestClient(String baseUri) throws URISyntaxException { - this(baseUri, null); - } - - public CMSRestClient(String baseUri, String clientCertNick) throws URISyntaxException { - - clientCertNickname = clientCertNick; - uri = new URI(baseUri); + public CMSRestClient(ClientConfig config) { + this.config = config; DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.addRequestInterceptor(new HttpRequestInterceptor() { + @Override public void process(HttpRequest request, HttpContext context) throws HttpException, IOException { if (verbose) System.out.println("HTTP Request: "+request.getRequestLine()); } @@ -153,9 +149,10 @@ public abstract class CMSRestClient { socket = new SSLSocket(sock, hostName, new ServerCertApprovalCB(), null); } - if (clientCertNickname != null) { - if (verbose) System.out.println("Client certificate: "+clientCertNickname); - socket.setClientCertNickname(clientCertNickname); + String certNickname = config.getCertNickname(); + if (certNickname != null) { + if (verbose) System.out.println("Client certificate: "+certNickname); + socket.setClientCertNickname(certNickname); } return socket; @@ -176,7 +173,8 @@ public abstract class CMSRestClient { } - public T createProxy(Class clazz) { + public T createProxy(Class clazz) throws URISyntaxException { + URI uri = new URI(config.getServerURI()+"/pki"); return ProxyFactory.create(clazz, uri, executor, providerFactory); } diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java index 92563d7d6..7fe8af2f3 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java @@ -19,8 +19,7 @@ package com.netscape.cms.servlet.csadmin; import java.net.URISyntaxException; -import org.jboss.resteasy.client.ProxyFactory; - +import com.netscape.cms.client.cli.ClientConfig; import com.netscape.cms.servlet.csadmin.model.ConfigurationData; import com.netscape.cms.servlet.csadmin.model.ConfigurationResponseData; import com.netscape.cms.servlet.csadmin.model.InstallToken; @@ -35,10 +34,10 @@ public class ConfigurationRESTClient extends CMSRestClient { private SystemConfigurationResource configClient; - public ConfigurationRESTClient(String baseUri, String clientCertNick) throws URISyntaxException { - super(baseUri, clientCertNick); + public ConfigurationRESTClient(ClientConfig config) throws URISyntaxException { + super(config); - configClient = ProxyFactory.create(SystemConfigurationResource.class, uri, executor, providerFactory); + configClient = createProxy(SystemConfigurationResource.class); } public ConfigurationResponseData configure(ConfigurationData data) { diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java index 93de638eb..cc8808498 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java @@ -143,6 +143,7 @@ import com.netscape.certsrv.ocsp.IOCSPAuthority; import com.netscape.certsrv.usrgrp.IGroup; import com.netscape.certsrv.usrgrp.IUGSubsystem; import com.netscape.certsrv.usrgrp.IUser; +import com.netscape.cms.client.cli.ClientConfig; import com.netscape.cms.servlet.csadmin.model.InstallToken; import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest; import com.netscape.cmsutil.crypto.CryptoUtil; @@ -294,9 +295,12 @@ public class ConfigurationUtils { String csType = cs.getString("cs.type"); InstallTokenRequest data = new InstallTokenRequest(user, passwd, csType, CMS.getEEHost(), CMS.getAdminPort()); - String baseUri = "https://" + sdhost + ":" + sdport + "/ca/pki"; - ConfigurationRESTClient client = null; - client = new ConfigurationRESTClient(baseUri, null); + + ClientConfig config = new ClientConfig(); + config.setServerURI("https://" + sdhost + ":" + sdport + "/ca"); + + ConfigurationRESTClient client = new ConfigurationRESTClient(config); + InstallToken token = client.getInstallToken(data); return token.getToken(); -- cgit