aboutsummaryrefslogtreecommitdiff
path: root/README
blob: ca2eff3fb4e997cce95a57744467ee0948b487c5 (plain) (blame)
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.