summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape
diff options
context:
space:
mode:
authorFraser Tweedale <ftweedal@redhat.com>2015-09-01 09:57:42 -0400
committerFraser Tweedale <ftweedal@redhat.com>2015-09-26 14:11:51 +1000
commit058f1cf1e657ba441f1fcd590fa4cec8ca96e5b0 (patch)
tree18109e536cf188bf387f8f97af7c98bd39168c33 /base/common/src/com/netscape
parent5cdad30b99d8c115f6b50c63bb2ecceefdd33937 (diff)
downloadpki-058f1cf1e657ba441f1fcd590fa4cec8ca96e5b0.tar.gz
pki-058f1cf1e657ba441f1fcd590fa4cec8ca96e5b0.tar.xz
pki-058f1cf1e657ba441f1fcd590fa4cec8ca96e5b0.zip
Lightweight CAs: REST cert request param to specify authority
Add the optional "ca" query parameter for REST cert request submission. Also update the ca-cert-request-submit CLI command with an option to provide an AuthorityID. Part of: https://fedorahosted.org/pki/ticket/1213
Diffstat (limited to 'base/common/src/com/netscape')
-rw-r--r--base/common/src/com/netscape/certsrv/cert/CertClient.java16
-rw-r--r--base/common/src/com/netscape/certsrv/cert/CertRequestResource.java5
2 files changed, 18 insertions, 3 deletions
diff --git a/base/common/src/com/netscape/certsrv/cert/CertClient.java b/base/common/src/com/netscape/certsrv/cert/CertClient.java
index 42b04b702..1d4ccd2cf 100644
--- a/base/common/src/com/netscape/certsrv/cert/CertClient.java
+++ b/base/common/src/com/netscape/certsrv/cert/CertClient.java
@@ -17,16 +17,19 @@
//--- END COPYRIGHT BLOCK ---
package com.netscape.certsrv.cert;
+import java.io.IOException;
import java.net.URISyntaxException;
import javax.ws.rs.core.Response;
+import com.netscape.certsrv.ca.AuthorityID;
import com.netscape.certsrv.client.Client;
import com.netscape.certsrv.client.PKIClient;
import com.netscape.certsrv.client.SubsystemClient;
import com.netscape.certsrv.dbs.certdb.CertId;
import com.netscape.certsrv.profile.ProfileDataInfos;
import com.netscape.certsrv.request.RequestId;
+import netscape.security.x509.X500Name;
/**
* @author Endi S. Dewata
@@ -85,8 +88,17 @@ public class CertClient extends Client {
return client.getEntity(response, CertRequestInfo.class);
}
- public CertRequestInfos enrollRequest(CertEnrollmentRequest data) {
- Response response = certRequestClient.enrollCert(data);
+ public CertRequestInfos enrollRequest(
+ CertEnrollmentRequest data, AuthorityID aid, X500Name adn) {
+ String aidString = aid != null ? aid.toString() : null;
+ String adnString = null;
+ if (adn != null) {
+ try {
+ adnString = adn.toLdapDNString();
+ } catch (IOException e) {
+ }
+ }
+ Response response = certRequestClient.enrollCert(data, aidString, adnString);
return client.getEntity(response, CertRequestInfos.class);
}
diff --git a/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java b/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java
index 7f08b4af3..493f6f53a 100644
--- a/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java
+++ b/base/common/src/com/netscape/certsrv/cert/CertRequestResource.java
@@ -37,7 +37,10 @@ public interface CertRequestResource {
@POST
@Path("certrequests")
@ClientResponseType(entityType=CertRequestInfos.class)
- public Response enrollCert(CertEnrollmentRequest data);
+ public Response enrollCert(
+ CertEnrollmentRequest data,
+ @QueryParam("issuer-id") String caIDString,
+ @QueryParam("issuer-dn") String caDNString);
/**
* Used to retrieve cert request info for a specific request