summaryrefslogtreecommitdiffstats
path: root/base/ca/src/org
diff options
context:
space:
mode:
authorFraser Tweedale <ftweedal@redhat.com>2016-05-05 16:33:52 +1000
committerFraser Tweedale <ftweedal@redhat.com>2016-05-09 10:43:02 +1000
commitbdd9ceca09d570f9ac976bed6bc980e6527d92b5 (patch)
tree02f695fb7153ee956967ac462018407276321dbe /base/ca/src/org
parentba6c1318711cda4adb9cdb0bdf969bc5ef590bd6 (diff)
downloadpki-bdd9ceca09d570f9ac976bed6bc980e6527d92b5.tar.gz
pki-bdd9ceca09d570f9ac976bed6bc980e6527d92b5.tar.xz
pki-bdd9ceca09d570f9ac976bed6bc980e6527d92b5.zip
Lightweight CAs: accept "host-authority" as valid parent
Accept the string "host-authority" as a valid reference to the host authority when creating a sub-CA. This is a convenience for users, and for systems that do not know (and do not want to look up) the ID of the host authority. Part of: https://fedorahosted.org/pki/ticket/1625
Diffstat (limited to 'base/ca/src/org')
-rw-r--r--base/ca/src/org/dogtagpki/server/ca/rest/AuthorityService.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/base/ca/src/org/dogtagpki/server/ca/rest/AuthorityService.java b/base/ca/src/org/dogtagpki/server/ca/rest/AuthorityService.java
index 582248d4c..29b7f7843 100644
--- a/base/ca/src/org/dogtagpki/server/ca/rest/AuthorityService.java
+++ b/base/ca/src/org/dogtagpki/server/ca/rest/AuthorityService.java
@@ -179,10 +179,14 @@ public class AuthorityService extends PKIService implements AuthorityResource {
public Response createCA(AuthorityData data) {
String parentAIDString = data.getParentID();
AuthorityID parentAID = null;
- try {
- parentAID = new AuthorityID(parentAIDString);
- } catch (IllegalArgumentException e) {
- throw new BadRequestException("Bad Authority ID: " + parentAIDString);
+ if (AuthorityResource.HOST_AUTHORITY.equals(parentAIDString)) {
+ parentAID = hostCA.getAuthorityID();
+ } else {
+ try {
+ parentAID = new AuthorityID(parentAIDString);
+ } catch (IllegalArgumentException e) {
+ throw new BadRequestException("Bad Authority ID: " + parentAIDString, e);
+ }
}
PKIPrincipal principal =