aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--myrpki/Makefile17
-rw-r--r--myrpki/myirbe.py2
-rw-r--r--myrpki/myrpki.py35
-rwxr-xr-xmyrpki/xml-parse-test.py11
4 files changed, 49 insertions, 16 deletions
diff --git a/myrpki/Makefile b/myrpki/Makefile
index b0cdc6b1..f86c00c3 100644
--- a/myrpki/Makefile
+++ b/myrpki/Makefile
@@ -1,7 +1,9 @@
# $Id$
-all: myrpki.xml lint parse
-
+all:: myrpki.xml
+all:: lint
+#all:: parse
+all:: load
myrpki.xml: myrpki.py asns.csv prefixes.csv roas.csv validity.csv
python myrpki.py
@@ -15,5 +17,16 @@ myrpki.rng: myrpki.rnc
parse: myrpki.xml myrpki.rng
python xml-parse-test.py
+load: myrpki.xml myrpki.rng
+ python myirbe.py
+
clean:
rm -f *.xml *.pem
+
+relatives: mom.pem dad.pem bro.pem sis.pem
+
+mom.pem dad.pem bro.pem sis.pem:
+ openssl req -new -sha256 -x509 -verbose -config myrpki.conf -extensions req_x509_ext -newkey rsa:2048 -nodes -keyout /dev/null -subj CN=$@ -out $@
+
+format: myrpki.xml
+ xmllint --format myrpki.xml
diff --git a/myrpki/myirbe.py b/myrpki/myirbe.py
index e37c984f..f055e457 100644
--- a/myrpki/myirbe.py
+++ b/myrpki/myirbe.py
@@ -160,4 +160,4 @@ def showcerts():
if crl:
showpem("CA", crl, "crl")
-showcerts()
+#showcerts()
diff --git a/myrpki/myrpki.py b/myrpki/myrpki.py
index 8bdcef4b..afded205 100644
--- a/myrpki/myrpki.py
+++ b/myrpki/myrpki.py
@@ -44,6 +44,9 @@ class roa_request(object):
self.v4 = comma_set()
self.v6 = comma_set()
+ def __repr__(self):
+ return "<%s asn %s v4 %s v6 %s>" % (self.__class__.__name__, self.asn, self.v4, self.v6)
+
def add(self, prefix):
if self.v4re.match(prefix):
self.v4.add(prefix)
@@ -90,6 +93,9 @@ class child(object):
self.validity = None
self.ta = None
+ def __repr__(self):
+ return "<%s v4 %s v6 %s asns %s validity %s ta %s>" % (self.__class__.__name__, self.v4, self.v6, self.asns, self.validity, self.ta)
+
def add(self, prefix = None, asn = None, validity = None, ta = None):
if prefix is not None:
if self.v4re.match(prefix):
@@ -106,15 +112,15 @@ class child(object):
self.ta = ta
def xml(self, e):
- e = SubElement(e, "child",
- handle = self.handle,
- valid_until = self.validity,
- asns = str(self.asns),
- v4 = str(self.v4),
- v6 = str(self.v6))
+ e2 = SubElement(e, "child",
+ handle = self.handle,
+ valid_until = self.validity,
+ asns = str(self.asns),
+ v4 = str(self.v4),
+ v6 = str(self.v6))
if self.ta:
- PEMElement(e, "bpki_ta", self.ta)
- return e
+ PEMElement(e2, "bpki_ta", self.ta)
+ return e2
class children(dict):
@@ -148,6 +154,9 @@ class parent(object):
self.uri = None
self.ta = None
+ def __repr__(self):
+ return "<%s uri %s ta %s>" % (self.__class__.__name__, self.uri, self.ta)
+
def add(self, uri = None, ta = None):
if uri is not None:
self.uri = uri
@@ -155,12 +164,12 @@ class parent(object):
self.ta = ta
def xml(self, e):
- e = SubElement(e, "parent",
- handle = self.handle,
- uri = self.uri)
+ e2 = SubElement(e, "parent",
+ handle = self.handle,
+ uri = self.uri)
if self.ta:
- PEMElement(e, "bpki_ta", self.ta)
- return e
+ PEMElement(e2, "bpki_ta", self.ta)
+ return e2
class parents(dict):
diff --git a/myrpki/xml-parse-test.py b/myrpki/xml-parse-test.py
index a4608059..81ae5ea8 100755
--- a/myrpki/xml-parse-test.py
+++ b/myrpki/xml-parse-test.py
@@ -67,6 +67,17 @@ def showpem(label, b64, kind):
raise subprocess.CalledProcessError(returncode = p.returncode, cmd = cmd)
print label, text
+for x in tree.getiterator(tag("child")):
+ ta = x.findtext(tag("bpki_ta"))
+ if ta:
+ showpem("Child", ta, "x509")
+
+for x in tree.getiterator(tag("parent")):
+ print "Parent URI:", x.get("uri")
+ ta = x.findtext(tag("bpki_ta"))
+ if ta:
+ showpem("Parent", ta, "x509")
+
ca = tree.findtext(tag("bpki_ca_certificate"))
if ca:
showpem("CA", ca, "x509")