summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/cms/servlet
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-07-19 01:51:50 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2012-07-30 11:21:45 -0500
commitc4636a5b56bd3e0f18fb3afd0b930729d58ce1f6 (patch)
tree57452b5a630dc4c3deda724f992180e7ba4cafeb /base/common/src/com/netscape/cms/servlet
parent70681bc83ccc25639da1b87940661b2649044629 (diff)
downloadpki-c4636a5b56bd3e0f18fb3afd0b930729d58ce1f6.tar.gz
pki-c4636a5b56bd3e0f18fb3afd0b930729d58ce1f6.tar.xz
pki-c4636a5b56bd3e0f18fb3afd0b930729d58ce1f6.zip
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
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet')
-rw-r--r--base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java28
-rw-r--r--base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java9
-rw-r--r--base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java10
3 files changed, 24 insertions, 23 deletions
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> T createProxy(Class<T> clazz) {
+ public <T> T createProxy(Class<T> 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();