aboutsummaryrefslogtreecommitdiff
path: root/ca/doc
diff options
context:
space:
mode:
Diffstat (limited to 'ca/doc')
-rw-r--r--ca/doc/README16
-rw-r--r--ca/doc/mainpage.py71
-rw-r--r--ca/doc/pubd-bpki.dot42
-rw-r--r--ca/doc/rpkid-bpki.dot76
4 files changed, 205 insertions, 0 deletions
diff --git a/ca/doc/README b/ca/doc/README
new file mode 100644
index 00000000..33902d7e
--- /dev/null
+++ b/ca/doc/README
@@ -0,0 +1,16 @@
+$Id$
+
+Internals documentation for the RPKI CA tools.
+
+Once upon a time this included the hand-written documentation for the
+CA tools, but that is now part of the overall package documentation.
+What's left here is just what Doxygen generates from the source code
+and a few Graphviz diagrams.
+
+At the moment the control for the stuff generated here is still
+../Makefile, that may change at some point.
+
+We no longer generate the documentation here automatically, as it's
+kind of large and we're not sure anybody else cares about it, so if
+you want this manual you'll have to install Doxygen and build it
+yourself.
diff --git a/ca/doc/mainpage.py b/ca/doc/mainpage.py
new file mode 100644
index 00000000..4570547b
--- /dev/null
+++ b/ca/doc/mainpage.py
@@ -0,0 +1,71 @@
+## @file
+# @details
+# Doxygen documentation source, expressed as Python comments to make Doxygen happy.
+#
+# $Id$
+#
+# Copyright (C) 2009--2012 Internet Systems Consortium ("ISC")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Portions copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+## @mainpage RPKI Engine Reference Manual
+#
+# This collection of Python modules implements an RPKI CA engine.
+#
+# See http://trac.rpki.net/ for the RPKI tools package documentation.
+#
+# The documentation you're reading is generated automatically by
+# Doxygen from comments and documentation in
+# <a href="http://trac.rpki.net/browser/trunk">the code</a>.
+#
+# At one point this manual also included documentation for the CA
+# tools, but that has been integrated into the overall package
+# documentation. This manual is now just the CA tools internals.
+
+## @page sql-schemas SQL database schemas
+#
+# @li @subpage rpkid-sql "rpkid database schema"
+# @li @subpage pubd-sql "pubd database schema"
+
+## @page rpkid-sql rpkid SQL schema
+#
+# @image html rpkid.png "Diagram of rpkid.sql"
+# @image latex rpkid.eps "Diagram of rpkid.sql" height=\textheight
+#
+# @verbinclude rpkid.sql
+
+## @page pubd-sql pubd SQL Schema
+#
+# @image html pubd.png "Diagram of pubd.sql"
+# @image latex pubd.eps "Diagram of pubd.sql" width=\textwidth
+#
+# @verbinclude pubd.sql
+
+# Local Variables:
+# mode:python
+# compile-command: "cd ../.. && ./config.status && cd rpkid && make docs"
+# End:
diff --git a/ca/doc/pubd-bpki.dot b/ca/doc/pubd-bpki.dot
new file mode 100644
index 00000000..44ad8a90
--- /dev/null
+++ b/ca/doc/pubd-bpki.dot
@@ -0,0 +1,42 @@
+// $Id$
+
+// Color code:
+// Black: Operating entity
+// Red: Cross-certified client
+//
+// Shape code:
+// Octagon: TA
+// Diamond: CA
+// Record: EE
+
+digraph bpki_pubd {
+ splines = true;
+ size = "14,14";
+ node [ fontname = Times, fontsize = 9 ];
+
+ // Operating entity
+ node [ color = black, fontcolor = black, shape = record ];
+ TA [ shape = octagon, label = "BPKI TA" ];
+ pubd [ label = "pubd|{HTTPS server|CMS}" ];
+ ctl [ label = "Control|{HTTPS client|CMS}" ];
+
+ // Clients
+ node [ color = red, fontcolor = red, shape = diamond ];
+ Alice_CA;
+ Bob_CA;
+ node [ color = red, fontcolor = red, shape = record ];
+ Alice_EE [ label = "Alice\nEE|{HTTPS client|CMS}" ];
+ Bob_EE [ label = "Bob\nEE|{HTTPS client|CMS}" ];
+
+ edge [ color = black, style = dotted ];
+ TA -> pubd;
+ TA -> ctl;
+
+ edge [ color = black, style = solid ];
+ TA -> Alice_CA;
+ TA -> Bob_CA;
+
+ edge [ color = red, style = solid ];
+ Alice_CA -> Alice_EE;
+ Bob_CA -> Bob_EE;
+}
diff --git a/ca/doc/rpkid-bpki.dot b/ca/doc/rpkid-bpki.dot
new file mode 100644
index 00000000..651591cb
--- /dev/null
+++ b/ca/doc/rpkid-bpki.dot
@@ -0,0 +1,76 @@
+// $Id$
+
+// Color code:
+// Black: Hosting entity
+// Blue: Hosted entity
+// Red: Cross-certified peer
+//
+// Shape code:
+// Octagon: TA
+// Diamond: CA
+// Record: EE
+
+digraph bpki_rpkid {
+ splines = true;
+ size = "14,14";
+ node [ fontname = Times, fontsize = 9 ];
+
+ // Hosting entity
+ node [ color = black, shape = record ];
+ TA [ shape = octagon, label = "BPKI TA" ];
+ rpkid [ label = "rpkid|{HTTPS server|HTTPS left-right client|CMS left-right}" ];
+ irdbd [ label = "irdbd|{HTTPS left-right server|CMS left-right}" ];
+ irbe [ label = "IRBE|{HTTPS left-right client|CMS left-right}" ];
+
+ // Hosted entities
+ node [ color = blue, fontcolor = blue ];
+ Alice_CA [ shape = diamond ];
+ Alice_EE [ label = "Alice\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
+ Ellen_CA [ shape = diamond ];
+ Ellen_EE [ label = "Ellen\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
+
+ // Peers
+ node [ color = red, fontcolor = red, shape = diamond ];
+ Bob_CA;
+ Carol_CA;
+ Dave_CA;
+ Frank_CA;
+ Ginny_CA;
+ Harry_CA;
+ node [ shape = record ];
+ Bob_EE [ label = "Bob\nEE|{HTTPS up-down|CMS up-down}" ];
+ Carol_EE [ label = "Carol\nEE|{HTTPS up-down|CMS up-down}" ];
+ Dave_EE [ label = "Dave\nEE|{HTTPS up-down|CMS up-down}" ];
+ Frank_EE [ label = "Frank\nEE|{HTTPS up-down|CMS up-down}" ];
+ Ginny_EE [ label = "Ginny\nEE|{HTTPS up-down|CMS up-down}" ];
+ Harry_EE [ label = "Bob\nEE|{HTTPS up-down|CMS up-down}" ];
+
+ edge [ color = black, style = solid ];
+ TA -> Alice_CA;
+ TA -> Ellen_CA;
+
+ edge [ color = black, style = dotted ];
+ TA -> rpkid;
+ TA -> irdbd;
+ TA -> irbe;
+
+ edge [ color = blue, style = solid ];
+ Alice_CA -> Bob_CA;
+ Alice_CA -> Carol_CA;
+ Alice_CA -> Dave_CA;
+ Ellen_CA -> Frank_CA;
+ Ellen_CA -> Ginny_CA;
+ Ellen_CA -> Harry_CA;
+
+ edge [ color = blue, style = dotted ];
+ Alice_CA -> Alice_EE;
+ Ellen_CA -> Ellen_EE;
+
+ edge [ color = red, style = solid ];
+ Bob_CA -> Bob_EE;
+ Carol_CA -> Carol_EE;
+ Dave_CA -> Dave_EE;
+ Frank_CA -> Frank_EE;
+ Ginny_CA -> Ginny_EE;
+ Harry_CA -> Harry_EE;
+}