diff options
author | Endi Sukma Dewata <edewata@redhat.com> | 2012-08-11 05:34:59 -0500 |
---|---|---|
committer | Endi Sukma Dewata <edewata@redhat.com> | 2012-08-15 12:07:34 -0500 |
commit | 108bd269ab0eb512c334939fabde68eeab5b0b67 (patch) | |
tree | 7c9bbb80c7de89fede78a59576241c42394f5032 /base/common/src/com/netscape/cms | |
parent | f554dc2aa0478aa23f7e986b6779091f7d520bf5 (diff) | |
download | pki-108bd269ab0eb512c334939fabde68eeab5b0b67.tar.gz pki-108bd269ab0eb512c334939fabde68eeab5b0b67.tar.xz pki-108bd269ab0eb512c334939fabde68eeab5b0b67.zip |
Reorganized REST client classes.
The REST client classes have been moved into the
com.netscape.cms.client.<component> packages.
Ticket #215
Diffstat (limited to 'base/common/src/com/netscape/cms')
11 files changed, 287 insertions, 13 deletions
diff --git a/base/common/src/com/netscape/cms/client/cli/ClientConfig.java b/base/common/src/com/netscape/cms/client/ClientConfig.java index 8b5380805..7299d4d22 100644 --- a/base/common/src/com/netscape/cms/client/cli/ClientConfig.java +++ b/base/common/src/com/netscape/cms/client/ClientConfig.java @@ -16,7 +16,7 @@ // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.client.cli; +package com.netscape.cms.client; import java.io.StringReader; import java.io.StringWriter; diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/PKIClient.java b/base/common/src/com/netscape/cms/client/PKIClient.java index 647056bd1..ddd47dab6 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/PKIClient.java +++ b/base/common/src/com/netscape/cms/client/PKIClient.java @@ -1,4 +1,4 @@ -package com.netscape.cms.servlet.csadmin; +package com.netscape.cms.client; import java.io.File; import java.io.IOException; @@ -50,7 +50,6 @@ import org.mozilla.jss.crypto.AlreadyInitializedException; import org.mozilla.jss.ssl.SSLCertificateApprovalCallback; import org.mozilla.jss.ssl.SSLSocket; -import com.netscape.cms.client.cli.ClientConfig; public abstract class PKIClient { diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/PKIErrorInterceptor.java b/base/common/src/com/netscape/cms/client/PKIErrorInterceptor.java index 795c0fda3..2c1936a6f 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/PKIErrorInterceptor.java +++ b/base/common/src/com/netscape/cms/client/PKIErrorInterceptor.java @@ -15,7 +15,7 @@ // (C) 2007 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; +package com.netscape.cms.client; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; diff --git a/base/common/src/com/netscape/cms/client/ca/CAClient.java b/base/common/src/com/netscape/cms/client/ca/CAClient.java new file mode 100644 index 000000000..17d017cce --- /dev/null +++ b/base/common/src/com/netscape/cms/client/ca/CAClient.java @@ -0,0 +1,141 @@ +//--- 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.client.ca; + +import java.net.URISyntaxException; +import java.util.Collection; + +import com.netscape.certsrv.dbs.certdb.CertId; +import com.netscape.certsrv.request.RequestId; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.PKIClient; +import com.netscape.cms.servlet.cert.CertResource; +import com.netscape.cms.servlet.cert.model.CertDataInfos; +import com.netscape.cms.servlet.cert.model.CertSearchRequest; +import com.netscape.cms.servlet.cert.model.CertData; +import com.netscape.cms.servlet.profile.ProfileResource; +import com.netscape.cms.servlet.profile.model.ProfileData; +import com.netscape.cms.servlet.profile.model.ProfileDataInfos; +import com.netscape.cms.servlet.request.CertRequestResource; +import com.netscape.cms.servlet.request.model.CertReviewResponse; +import com.netscape.cms.servlet.request.model.CertRequestInfo; +import com.netscape.cms.servlet.request.model.CertRequestInfos; +import com.netscape.cms.servlet.request.model.CertEnrollmentRequest; + +public class CAClient extends PKIClient { + + private CertResource certClient; + private CertRequestResource certRequestClient; + private ProfileResource profileClient; + + public CAClient(ClientConfig config) throws URISyntaxException { + super(config); + + certRequestClient = createProxy(CertRequestResource.class); + certClient = createProxy(CertResource.class); + profileClient = createProxy(ProfileResource.class); + } + + public Collection<CertRequestInfo> listRequests(String requestState, String requestType) { + CertRequestInfos infos = null; + Collection<CertRequestInfo> list = null; + infos = certRequestClient.listRequests( + requestState, requestType, new RequestId(0), 100, 100, 10); + list = infos.getRequests(); + + return list; + } + + public CertDataInfos listCerts(String status) { + return certClient.listCerts(status, 100, 10); + } + + public CertDataInfos searchCerts(CertSearchRequest data) { + return certClient.searchCerts(data, 100, 10); + } + + public ProfileDataInfos listProfiles() { + return profileClient.listProfiles(); + } + + public ProfileData getProfile(String id) { + + if (id == null) { + return null; + } + + return profileClient.retrieveProfile(id); + } + + public CertData getCertData(CertId id) { + + if (id == null) { + return null; + } + + return certClient.getCert(id); + + } + + public CertRequestInfos enrollCertificate(CertEnrollmentRequest data) { + if (data == null) { + return null; + } + + return certRequestClient.enrollCert(data); + } + + public CertRequestInfo getRequest(RequestId id) { + if (id == null) { + return null; + } + return certRequestClient.getRequestInfo(id); + } + + public CertReviewResponse reviewRequest(RequestId id) { + if (id == null) { + return null; + } + return certRequestClient.reviewRequest(id); + } + + public void approveRequest(RequestId id, CertReviewResponse data) { + certRequestClient.approveRequest(id, data); + } + + public void rejectRequest(RequestId id, CertReviewResponse data) { + certRequestClient.rejectRequest(id, data); + } + + public void cancelRequest(RequestId id, CertReviewResponse data) { + certRequestClient.cancelRequest(id, data); + } + + public void updateRequest(RequestId id, CertReviewResponse data) { + certRequestClient.updateRequest(id, data); + } + + public void validateRequest(RequestId id, CertReviewResponse data) { + certRequestClient.validateRequest(id, data); + } + + public void unassignRequest(RequestId id, CertReviewResponse data) { + certRequestClient.unassignRequest(id, data); + } + +} diff --git a/base/common/src/com/netscape/cms/client/cert/CertClient.java b/base/common/src/com/netscape/cms/client/cert/CertClient.java index fb2f61c75..254e8a143 100644 --- a/base/common/src/com/netscape/cms/client/cert/CertClient.java +++ b/base/common/src/com/netscape/cms/client/cert/CertClient.java @@ -21,14 +21,14 @@ import java.net.URISyntaxException; import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.client.cli.ClientConfig; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.PKIClient; import com.netscape.cms.servlet.cert.CertResource; import com.netscape.cms.servlet.cert.model.CertDataInfos; import com.netscape.cms.servlet.cert.model.CertRevokeRequest; import com.netscape.cms.servlet.cert.model.CertSearchRequest; import com.netscape.cms.servlet.cert.model.CertUnrevokeRequest; import com.netscape.cms.servlet.cert.model.CertData; -import com.netscape.cms.servlet.csadmin.PKIClient; import com.netscape.cms.servlet.request.CertRequestResource; import com.netscape.cms.servlet.request.model.CertReviewResponse; import com.netscape.cms.servlet.request.model.CertRequestInfo; diff --git a/base/common/src/com/netscape/cms/client/cli/MainCLI.java b/base/common/src/com/netscape/cms/client/cli/MainCLI.java index 50c90d892..2398a3837 100644 --- a/base/common/src/com/netscape/cms/client/cli/MainCLI.java +++ b/base/common/src/com/netscape/cms/client/cli/MainCLI.java @@ -30,6 +30,7 @@ import org.mozilla.jss.crypto.CryptoToken; import org.mozilla.jss.util.IncorrectPasswordException; import org.mozilla.jss.util.Password; +import com.netscape.cms.client.ClientConfig; import com.netscape.cms.client.cert.CertCLI; import com.netscape.cms.client.group.GroupCLI; import com.netscape.cms.client.user.UserCLI; diff --git a/base/common/src/com/netscape/cms/client/group/GroupClient.java b/base/common/src/com/netscape/cms/client/group/GroupClient.java index 410c1ad3d..b3784ef46 100644 --- a/base/common/src/com/netscape/cms/client/group/GroupClient.java +++ b/base/common/src/com/netscape/cms/client/group/GroupClient.java @@ -27,8 +27,8 @@ import com.netscape.certsrv.group.GroupMemberCollection; import com.netscape.certsrv.group.GroupMemberData; import com.netscape.certsrv.group.GroupMemberResource; import com.netscape.certsrv.group.GroupResource; -import com.netscape.cms.client.cli.ClientConfig; -import com.netscape.cms.servlet.csadmin.PKIClient; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.PKIClient; /** * @author Endi S. Dewata diff --git a/base/common/src/com/netscape/cms/client/kra/DRMClient.java b/base/common/src/com/netscape/cms/client/kra/DRMClient.java new file mode 100644 index 000000000..2332eacb2 --- /dev/null +++ b/base/common/src/com/netscape/cms/client/kra/DRMClient.java @@ -0,0 +1,130 @@ +package com.netscape.cms.client.kra; + +import java.net.URISyntaxException; +import java.util.Collection; +import java.util.Iterator; + +import org.jboss.resteasy.client.ClientResponse; + +import com.netscape.certsrv.dbs.keydb.KeyId; +import com.netscape.certsrv.request.RequestId; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.PKIClient; +import com.netscape.cms.servlet.admin.SystemCertificateResource; +import com.netscape.cms.servlet.cert.model.CertData; +import com.netscape.cms.servlet.key.KeyResource; +import com.netscape.cms.servlet.key.model.KeyData; +import com.netscape.cms.servlet.key.model.KeyDataInfo; +import com.netscape.cms.servlet.key.model.KeyDataInfos; +import com.netscape.cms.servlet.request.KeyRequestResource; +import com.netscape.cms.servlet.request.model.KeyArchivalRequest; +import com.netscape.cms.servlet.request.model.KeyRequestInfo; +import com.netscape.cms.servlet.request.model.KeyRequestInfos; +import com.netscape.cms.servlet.request.model.KeyRecoveryRequest; +import com.netscape.cmsutil.util.Utils; + +public class DRMClient extends PKIClient { + + private KeyResource keyClient; + private KeyRequestResource keyRequestClient; + private SystemCertificateResource systemCertClient; + + public DRMClient(ClientConfig config) throws URISyntaxException { + super(config); + + systemCertClient = createProxy(SystemCertificateResource.class); + keyRequestClient = createProxy(KeyRequestResource.class); + keyClient = createProxy(KeyResource.class); + } + + public String getTransportCert() { + @SuppressWarnings("unchecked") + ClientResponse<CertData> response = (ClientResponse<CertData>) systemCertClient + .getTransportCert(); + CertData certData = getEntity(response); + String transportCert = certData.getEncoded(); + return transportCert; + } + + public Collection<KeyRequestInfo> listRequests(String requestState, String requestType) { + KeyRequestInfos infos = keyRequestClient.listRequests( + requestState, requestType, null, new RequestId(0), 100, 100, 10 + ); + Collection<KeyRequestInfo> list = infos.getRequests(); + return list; + } + + public KeyRequestInfo archiveSecurityData(byte[] encoded, String clientId, String dataType) { + // create archival request + KeyArchivalRequest data = new KeyArchivalRequest(); + String req1 = Utils.base64encode(encoded); + data.setWrappedPrivateData(req1); + data.setClientId(clientId); + data.setDataType(dataType); + + KeyRequestInfo info = keyRequestClient.archiveKey(data); + return info; + } + + public KeyDataInfo getKeyData(String clientId, String status) { + KeyDataInfos infos = keyClient.listKeys(clientId, status, 100, 10); + Collection<KeyDataInfo> list = infos.getKeyInfos(); + Iterator<KeyDataInfo> iter = list.iterator(); + + while (iter.hasNext()) { + KeyDataInfo info = iter.next(); + if (info != null) { + // return the first one + return info; + } + } + return null; + } + + public KeyRequestInfo requestRecovery(KeyId keyId, byte[] rpwd, byte[] rkey, byte[] nonceData) { + // create recovery request + KeyRecoveryRequest data = new KeyRecoveryRequest(); + data.setKeyId(keyId); + if (rpwd != null) { + data.setSessionWrappedPassphrase(Utils.base64encode(rpwd)); + } + if (rkey != null) { + data.setTransWrappedSessionKey(Utils.base64encode(rkey)); + } + + if (nonceData != null) { + data.setNonceData(Utils.base64encode(nonceData)); + } + + KeyRequestInfo info = keyRequestClient.recoverKey(data); + return info; + } + + public void approveRecovery(RequestId recoveryId) { + keyRequestClient.approveRequest(recoveryId); + } + + public KeyData retrieveKey(KeyId keyId, RequestId requestId, byte[] rpwd, byte[] rkey, byte[] nonceData) { + // create recovery request + KeyRecoveryRequest data = new KeyRecoveryRequest(); + data.setKeyId(keyId); + data.setRequestId(requestId); + if (rkey != null) { + data.setTransWrappedSessionKey(Utils.base64encode(rkey)); + } + if (rpwd != null) { + data.setSessionWrappedPassphrase(Utils.base64encode(rpwd)); + } + + if (nonceData != null) { + data.setNonceData(Utils.base64encode(nonceData)); + } + + KeyData key = keyClient.retrieveKey(data); + return key; + } + + public KeyRequestInfo getRequest(RequestId id) { + return keyRequestClient.getRequestInfo(id); + } +} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigClient.java b/base/common/src/com/netscape/cms/client/system/SystemConfigClient.java index 11815a65b..c01558ed3 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigClient.java +++ b/base/common/src/com/netscape/cms/client/system/SystemConfigClient.java @@ -15,11 +15,13 @@ // (C) 2012 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; +package com.netscape.cms.client.system; import java.net.URISyntaxException; -import com.netscape.cms.client.cli.ClientConfig; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.PKIClient; +import com.netscape.cms.servlet.csadmin.SystemConfigResource; import com.netscape.cms.servlet.csadmin.model.ConfigurationRequest; import com.netscape.cms.servlet.csadmin.model.ConfigurationResponse; import com.netscape.cms.servlet.csadmin.model.InstallToken; diff --git a/base/common/src/com/netscape/cms/client/user/UserClient.java b/base/common/src/com/netscape/cms/client/user/UserClient.java index ea2991ac8..010468e8a 100644 --- a/base/common/src/com/netscape/cms/client/user/UserClient.java +++ b/base/common/src/com/netscape/cms/client/user/UserClient.java @@ -27,8 +27,8 @@ import com.netscape.certsrv.user.UserCertResource; import com.netscape.certsrv.user.UserCollection; import com.netscape.certsrv.user.UserData; import com.netscape.certsrv.user.UserResource; -import com.netscape.cms.client.cli.ClientConfig; -import com.netscape.cms.servlet.csadmin.PKIClient; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.PKIClient; /** * @author Endi S. Dewata 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 be66f5cf7..4c9caf5c1 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java @@ -143,7 +143,8 @@ 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.client.ClientConfig; +import com.netscape.cms.client.system.SystemConfigClient; import com.netscape.cms.servlet.csadmin.model.InstallToken; import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest; import com.netscape.cmsutil.crypto.CryptoUtil; |