1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
$Id$
Files associated with routing PKI project.
Quick start for the impatient:
- To install the relying party tools, see rcynic/README.
- To install the certificate generation system, see
rpkid/doc/Installation.
- To install the Django portal GUI, see portal-gui/README.
Required reading:
- RFC 3779
- Portions of RFCs 5280 and 5652
- draft-ietf-sidr-*
- draft-ymbk-rpki-rtr-protocol
Programs:
- openssl: development copy of OpenSSL with RFC 3779 support added.
Patches for this have been submitted to the OpenSSL project and were
incorporated into release OpenSSL 0.9.8e.
At present we're using an unmodified copy of the OpenSSL 1.0
release, but the RFC 3779 code isn't enabled by default at compile
time, so we need to build our own copy with the right configuration
options. So we ship a distribution tarball and a makefile that
knows how to unpack, configure, and build it, so that other tools in
this package can use the resulting libraries.
- rcynic: "cynical rsync" validator for rsync-based RPKI repositories.
- rpkid: rpkid and friends, a collection of Python programs to handle
the publication side of the RPKI project.
- rtr-origin: a Python implementation of the "RPKI/Router" protocol
described in draft-ymbk-rpki-rtr-protocol.
- utils and scripts: various little test programs and utilities, not
really intended for use by anyone but the author. If they're
useful, cool, enjoy, but if they blow up in your face, set your
computer on fire, and turn your cat blue, that's your problem.
Other:
- presentations: miscellaneous presentations and design documents for
the project.
Building:
- The code is mostly a mix of C and Python; some of the C code is
called by the Python code, so you'll want to build the C code first.
In theory, the overall build process is simple:
$ ./configure
$ make
If this fails, please report the failure, and details about the
platform on which it occurred. If you tried to build the code some
other way instead of building it this way, and your attempt failed,
please try building it this way before asking for help. :)
Note that building POW (the interface between OpenSSL and Python)
will fail if you don't have the required Python header files
installed. On some platforms those files are installed along with
Python itself, on others you might have to install a separate
python-dev package.
See below for more information about documentation, including
further build instructions and dependencies.
Documentation:
- At the moment there's no overall documentation for the entire
package. Sorry. Will get to that eventually. For now, there's
separate documentation for the major components (below).
- rcynic: See rcynic/README.
- rpkid:
- See rpkid/doc/manual.tar.gz for a gzipped tarball of the entire
manual in HTML format.
- There's also a PDF version of the manual in rpkid/doc/manual.pdf.
The documentation on the code internals is uglier than in the HTML
version, but the installation and setup documenation should be
readable.
- There are also flat text versions of the most important parts of
the installation and setup documentation, in the rpkid/doc
directory.
All of the rpkid documentation is produced by Doxygen from a single
set of documentation sources. The flat text files are html2text
dumps of the HTML.
- Others: See READMEs and source code in the individual directories.
|