aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/rpki/sql.py4
-rw-r--r--scripts/rpki/up_down.py18
2 files changed, 11 insertions, 11 deletions
diff --git a/scripts/rpki/sql.py b/scripts/rpki/sql.py
index 59e3a063..b9eb2f7d 100644
--- a/scripts/rpki/sql.py
+++ b/scripts/rpki/sql.py
@@ -179,7 +179,7 @@ class ca_detail_obj(sql_persistant):
"""Internal CA detail object."""
sql_template = template("ca", "ca_detail_id", "private_key_id", "public_key", "latest_ca_cert", "manifest_private_key_id",
- "manifest_public_key", "latest_manifest_cert", "latest_manifest", "latest_crl", "status", "ca_id")
+ "manifest_public_key", "latest_manifest_cert", "latest_manifest", "latest_crl", "state", "ca_cert_uri", "ca_id")
def sql_decode(self, vals):
sql_persistant.sql_decode(self, vals)
@@ -206,7 +206,7 @@ class ca_detail_obj(sql_persistant):
@classmethod
def sql_fetch_active(cls, db, cur, ca_id):
- hits = cls.sql_fetch_where(db, cur, "ca_id = %s AND status = 'active'" % ca_id)
+ hits = cls.sql_fetch_where(db, cur, "ca_id = %s AND state = 'active'" % ca_id)
assert len(hits) < 2, "Found more than one 'active' ca_detail record, this should not happen!"
if hits:
return hits[0]
diff --git a/scripts/rpki/up_down.py b/scripts/rpki/up_down.py
index 206c0c2e..ff1a67c8 100644
--- a/scripts/rpki/up_down.py
+++ b/scripts/rpki/up_down.py
@@ -165,11 +165,11 @@ class list_pdu(base_elt):
continue
rc = class_elt()
rc.class_name = str(ca_id)
- rc.cert_url = "rsync://niy.invalid"
+ rc.cert_url = multi_uri(ca_detail.ca_cert_uri)
rc.resource_set_as, rc.resource_set_ipv4, rc.resource_set_ipv6 = rc_as, rc_v4, rc_v6
for child_cert in rpki.sql.child_cert_obj.sql_fetch_where(gctx.db, gctx.cur, "child_id = %s AND ca_detail_id = %s" % (child.child_id, ca_detail.ca_detail_id)):
c = certificate_elt()
- c.cert_url = "rsync://niy.invalid"
+ c.cert_url = multi_uri(ca.sia_uri + child_cert.cert.gSKI() + ".cer")
c.cert = child_cert.cert
rc.certs.append(c)
rc.issuer = ca_detail.latest_ca_cert
@@ -254,7 +254,6 @@ class issue_pdu(base_elt):
# Step 3: If we didn't find a reusable cert, generate a new one.
if child_cert is None:
# Some of this code probably should become a method of rpki.sql.ca_obj
- base_uri = ca.sia_uri + ca_detail.latest_ca_cert.gSKI()
ca.last_issued_sn += 1
ca.sql_mark_dirty()
child_cert = rpki.sql.child_cert_obj()
@@ -263,28 +262,29 @@ class issue_pdu(base_elt):
child_cert.cert = ca_detail.latest_ca_cert.issue(keypair = ca_detail.private_key_id,
subject_key = pubkey,
serial = ca.last_issued_sn,
- aia = base_uri + ".cer",
- crldp = base_uri + ".crl",
+ aia = ca_detail.ca_cert_uri,
+ crldp = ca.sia_uri + ca_detail.latest_ca_cert.gSKI() + ".crl",
sia = req_sia,
as = rc_as,
v4 = rc_v4,
v6 = rc_v6)
child_cert.sql_mark_dirty()
- # Generate new manifest
- # Publish new cert and manifest
+ print "Should generate a new manifest now"
+ print "Should publish newly-created certificate now"
raise NotImplementedError
# Save anything we modified and generate response
rpki.sql.sql_sweep(gctx.db, gctx.cur)
assert child_cert and child_cert.sql_in_db
c = certificate_elt()
- c.cert_url = "rsync://niy.invalid"
+ c.cert_url = multi_uri(ca.sia_uri + child_cert.cert.gSKI() + ".cer")
c.cert = child_cert.cert
rc = class_elt()
- rc.cert_url = "rsync://niy.invalid"
+ rc.cert_url = multi_uri(ca_detail.ca_cert_uri)
rc.resource_set_as, rc.resource_set_ipv4, rc.resource_set_ipv6 = rc_as, rc_v4, rc_v6
rc.certs.append(c)
+ rc.issuer = ca_detail.latest_ca_cert
r_msg.payload = issue_response_pdu()
r_msg.payload.classes.append(rc)