RPKI Engine
1.0
|
Public Member Functions | |
def | __init__ |
def | complete_delete_child |
def | complete_delete_parent |
def | complete_delete_publication_client |
def | complete_delete_repository |
def | complete_renew_child |
def | configure_resources_main |
def | do_configure_child |
def | do_configure_daemons |
def | do_configure_parent |
def | do_configure_publication_client |
def | do_configure_repository |
def | do_configure_resources |
def | do_delete_child |
def | do_delete_parent |
def | do_delete_publication_client |
def | do_delete_repository |
def | do_initialize |
def | do_renew_all_children |
def | do_renew_child |
def | do_update_bpki |
def | entitydb_complete |
def | help_overview |
def | read_config |
def | renew_children_common |
Public Attributes | |
bpki_resources | |
bpki_servers | |
cfg | |
cfg_file | |
default_repository | |
entitydb | |
handle | |
histfile | |
pubd_contact_info | |
rsync_module | |
rsync_server | |
run_pubd | |
run_rootd | |
run_rpkid | |
Static Public Attributes | |
completedefault = rpki.cli.Cmd.filename_complete | |
string | prompt = "myrpki> " |
show_xml = False |
def rpki::myrpki::main::complete_delete_child | ( | self, | |
args | |||
) |
Definition at line 1333 of file myrpki.py.
References entitydb_complete().
def rpki::myrpki::main::complete_delete_parent | ( | self, | |
args | |||
) |
Definition at line 1396 of file myrpki.py.
References entitydb_complete().
def rpki::myrpki::main::complete_delete_publication_client | ( | self, | |
args | |||
) |
Definition at line 1499 of file myrpki.py.
References entitydb_complete().
def rpki::myrpki::main::complete_delete_repository | ( | self, | |
args | |||
) |
Definition at line 1547 of file myrpki.py.
References entitydb_complete().
def rpki::myrpki::main::complete_renew_child | ( | self, | |
args | |||
) |
Definition at line 1592 of file myrpki.py.
References entitydb_complete().
def rpki::myrpki::main::configure_resources_main | ( | self, | |
msg = None |
|||
) |
Main program of old myrpki.py script. This remains separate because it's called from more than one place.
Definition at line 1604 of file myrpki.py.
References bpki_resources, entitydb, rpki::myrpki::etree_read(), rpki::myrpki::etree_write(), rpki::myrpki::child::handle, rpki::myrpki::parent::handle, rpki::myrpki::repository::handle, handle, and rpki::myrpki::PEMElement().
Referenced by do_configure_daemons(), and do_configure_resources().
def rpki::myrpki::main::do_configure_child | ( | self, | |
arg | |||
) |
Configure a new child of this RPKI entity, given the child's XML identity file as an input. This command extracts the child's data from the XML, cross-certifies the child's resource-holding BPKI certificate, and generates an XML file describing the relationship between the child and this parent, including this parent's BPKI data and up-down protocol service URI.
Definition at line 1237 of file myrpki.py.
References bpki_resources, default_repository, entitydb, rpki::myrpki::etree_read(), rpki::myrpki::etree_write(), rpki::myrpki::child::handle, rpki::myrpki::parent::handle, rpki::myrpki::repository::handle, handle, rpki::myrpki::PEMElement(), run_pubd, run_rootd, and run_rpkid.
def rpki::myrpki::main::do_configure_daemons | ( | self, | |
arg | |||
) |
Configure RPKI daemons with the data built up by the other commands in this program. The basic model here is that each entity with resources to certify runs the myrpki tool, but not all of them necessarily run their own RPKI engines. The entities that do run RPKI engines get data from the entities they host via the XML files output by the configure_resources command. Those XML files are the input to this command, which uses them to do all the work of configuring daemons, populating SQL databases, and so forth. A few operations (eg, BSC construction) generate data which has to be shipped back to the resource holder, which we do by updating the same XML file. In essence, the XML files are a sneakernet (or email, or carrier pigeon) communication channel between the resource holders and the RPKI engine operators. As a convenience, for the normal case where the RPKI engine operator is itself a resource holder, this command in effect runs the configure_resources command automatically to process the RPKI engine operator's own resources. Note that, due to the back and forth nature of some of these operations, it may take several cycles for data structures to stablize and everything to reach a steady state. This is normal.
Definition at line 1672 of file myrpki.py.
References bpki_servers, rpki::config::parser::cfg, rpki::irdbd::main::cfg, rpki::myrpki::CA::cfg, cfg, configure_resources_main(), rpki::myrpki::etree_read(), rpki::myrpki::etree_write(), run_pubd, and show_xml.
Referenced by do_update_bpki().
def rpki::myrpki::main::do_configure_parent | ( | self, | |
arg | |||
) |
Configure a new parent of this RPKI entity, given the output of the parent's configure_child command as input. This command reads the parent's response XML, extracts the parent's BPKI and service URI information, cross-certifies the parent's BPKI data into this entity's BPKI, and checks for offers or referrals of publication service. If a publication offer or referral is present, we generate a request-for-service message to that repository, in case the user wants to avail herself of the referral or offer.
Definition at line 1337 of file myrpki.py.
References bpki_resources, entitydb, rpki::myrpki::etree_read(), rpki::myrpki::etree_write(), rpki::myrpki::child::handle, rpki::myrpki::parent::handle, rpki::myrpki::repository::handle, handle, and rpki::myrpki::PEMElement().
def rpki::myrpki::main::do_configure_publication_client | ( | self, | |
arg | |||
) |
Configure publication server to know about a new client, given the client's request-for-service message as input. This command reads the client's request for service, cross-certifies the client's BPKI data, and generates a response message containing the repository's BPKI data and service URI.
Definition at line 1400 of file myrpki.py.
References rpki::myrpki::b64_equal(), bpki_resources, bpki_servers, entitydb, rpki::myrpki::etree_read(), rpki::myrpki::etree_write(), rpki::myrpki::child::handle, rpki::myrpki::parent::handle, rpki::myrpki::repository::handle, handle, rpki::myrpki::PEMBase64(), rpki::myrpki::PEMElement(), pubd_contact_info, rsync_module, and rsync_server.
def rpki::myrpki::main::do_configure_repository | ( | self, | |
arg | |||
) |
Configure a publication repository for this RPKI entity, given the repository's response to our request-for-service message as input. This command reads the repository's response, extracts and cross-certifies the BPKI data and service URI, and links the repository data with the corresponding parent data in our local database.
Definition at line 1503 of file myrpki.py.
References entitydb, rpki::myrpki::etree_read(), and rpki::myrpki::etree_write().
def rpki::myrpki::main::do_configure_resources | ( | self, | |
arg | |||
) |
Read CSV files and all the descriptions of parents and children that we've built up, package the result up as a single XML file to be shipped to a hosting rpkid.
Definition at line 1659 of file myrpki.py.
References configure_resources_main().
Referenced by do_update_bpki().
def rpki::myrpki::main::do_delete_child | ( | self, | |
arg | |||
) |
def rpki::myrpki::main::do_delete_parent | ( | self, | |
arg | |||
) |
def rpki::myrpki::main::do_delete_publication_client | ( | self, | |
arg | |||
) |
def rpki::myrpki::main::do_delete_repository | ( | self, | |
arg | |||
) |
def rpki::myrpki::main::do_initialize | ( | self, | |
arg | |||
) |
Initialize an RPKI installation. This command reads the configuration file, creates the BPKI and EntityDB directories, generates the initial BPKI certificates, and creates an XML file describing the resource-holding aspect of this RPKI installation.
Definition at line 1114 of file myrpki.py.
References bpki_resources, bpki_servers, entitydb, rpki::myrpki::etree_read(), rpki::myrpki::etree_write(), rpki::myrpki::child::handle, rpki::myrpki::parent::handle, rpki::myrpki::repository::handle, handle, rpki::myrpki::PEMElement(), run_pubd, run_rootd, and run_rpkid.
Referenced by do_update_bpki().
def rpki::myrpki::main::do_renew_all_children | ( | self, | |
arg | |||
) |
Update validity period for all child entities.
Definition at line 1595 of file myrpki.py.
References renew_children_common().
def rpki::myrpki::main::do_renew_child | ( | self, | |
arg | |||
) |
Update validity period for one child entity.
Definition at line 1586 of file myrpki.py.
References renew_children_common().
def rpki::myrpki::main::do_update_bpki | ( | self, | |
arg | |||
) |
Update BPKI certificates. Assumes an existing RPKI installation. Basic plan here is to reissue all BPKI certificates we can, right now. In the long run we might want to be more clever about only touching ones that need maintenance, but this will do for a start. Most likely this should be run under cron.
Definition at line 1196 of file myrpki.py.
References bpki_resources, bpki_servers, do_configure_daemons(), do_configure_resources(), do_initialize(), run_pubd, run_rootd, and run_rpkid.
def rpki::myrpki::main::entitydb_complete | ( | self, | |
prefix, | |||
text, | |||
line, | |||
begidx, | |||
endidx | |||
) |
Completion helper for entitydb filenames.
Definition at line 1076 of file myrpki.py.
Referenced by complete_delete_child(), complete_delete_parent(), complete_delete_publication_client(), complete_delete_repository(), and complete_renew_child().
def rpki::myrpki::main::help_overview | ( | self | ) |
def rpki::myrpki::main::renew_children_common | ( | self, | |
arg, | |||
plural | |||
) |
Common code for renew_child and renew_all_children commands.
Definition at line 1551 of file myrpki.py.
References rpki::myrpki::etree_read(), and rpki::myrpki::etree_write().
Referenced by do_renew_all_children(), and do_renew_child().
Definition at line 1087 of file myrpki.py.
Referenced by configure_resources_main(), do_configure_child(), do_configure_parent(), do_configure_publication_client(), do_initialize(), and do_update_bpki().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_daemons(), do_configure_publication_client(), do_initialize(), and do_update_bpki().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_daemons().
rpki::myrpki::main::completedefault = rpki.cli.Cmd.filename_complete [static] |
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_child().
Definition at line 1087 of file myrpki.py.
Referenced by configure_resources_main(), do_configure_child(), do_configure_parent(), do_configure_publication_client(), do_configure_repository(), do_delete_child(), do_delete_parent(), do_delete_publication_client(), do_delete_repository(), and do_initialize().
Definition at line 1087 of file myrpki.py.
Referenced by configure_resources_main(), do_configure_child(), do_configure_parent(), do_configure_publication_client(), and do_initialize().
Reimplemented from rpki::cli::Cmd.
string rpki::myrpki::main::prompt = "myrpki> " [static] |
Definition at line 1038 of file myrpki.py.
Referenced by rpki::cli::Cmd::do_EOF().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_publication_client().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_publication_client().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_publication_client().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_child(), do_configure_daemons(), do_initialize(), and do_update_bpki().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_child(), do_initialize(), and do_update_bpki().
Definition at line 1087 of file myrpki.py.
Referenced by do_configure_child(), do_initialize(), and do_update_bpki().
rpki::myrpki::main::show_xml = False [static] |
Definition at line 1042 of file myrpki.py.
Referenced by do_configure_daemons().