Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RPKI-CLIENT(8)		    System Manager's Manual		RPKI-CLIENT(8)

NAME
       rpki-client -- RPKI validator to	support	BGP routing security

SYNOPSIS
       rpki-client    [-0ABcjmnoRVvx]	 [-b	sourceaddr]    [-d   cachedir]
		   [-e rsync_prog] [-H fqdn] [-P posix-seconds]	 [-p  threads]
		   [-S skiplist] [-s timeout] [-t tal] [outputdir]
       rpki-client [-Vv] [-d cachedir] [-j] [-t	tal] -f	file ...

DESCRIPTION
       The  rpki-client	utility	queries	the Resource Public Key	Infrastructure
       (RPKI) repository system	with a built-in	HTTPS client and  rsync(1)  to
       fetch  all  X.509 certificates, manifests, and revocation lists under a
       given Trust Anchor.  rpki-client	 subsequently  validates  each	Signed
       Object  by constructing and verifying a certification path for the cer-
       tificate	associated with	the Object (including checking relevant	CRLs).
       rpki-client produces lists of the Validated ROA Payloads	(VRPs),	BGPsec
       Router Keys (BRKs), and Validated ASPA Payloads (VAPs) in various  for-
       mats.

       The options are as follows:

       -0      Include	hazardous  AS0 TALs in the output files.  AS0 TALs are
	       not recommended for automatic filtering of BGP routes.  The de-
	       fault is	not to include them.

       -A      Exclude the ASPA-set from the  output  files  that  support  it
	       (BIRD, JSON, and	OpenBGPD).

       -B      Create output in	the file bird in the output directory suitable
	       for BIRD	internet routing daemon	version	2.16 and up.  For com-
	       patibility  with	 earlier versions, use -A.  The	validated pay-
	       load table names	are ROAS4, ROAS6, and ASPAS.

       -b sourceaddr
	       Tell the	HTTP and rsync clients to use sourceaddr as the	source
	       address for connections,	which is useful	on machines with  mul-
	       tiple interfaces.

       -c      Create output in	the file csv in	the output directory as	comma-
	       separated  values of the	Autonomous System, the prefix in slash
	       notation, the maximum prefix length, an	abbreviation  for  the
	       Trust  Anchor the entry is derived from,	and the	moment the VRP
	       will expire derived from	the chain of  X.509  certificates  and
	       CRLs in seconds since the Epoch,	UTC.

       -d cachedir
	       The  directory  where rpki-client will store the	cached reposi-
	       tory data.  Defaults to /var/cache/rpki-client.

       -e rsync_prog
	       Use rsync_prog instead of rsync(1) to fetch  repositories.   It
	       must accept the -rt and --address flags and connect with	rsync-
	       protocol	locations.

       -f file ...
	       Attempt	to  decode  and	validate the RPKI object in file using
	       the cache stored	in cachedir and	print human-readable  informa-
	       tion  about the object.	If file	is an rsync:// URI, the	corre-
	       sponding	file from the cache will be used.  This	option implies
	       -n,  and	 can  be  combined  with  -j  to  emit	a  stream   of
	       Concatenated JSON.  This	option is intended for debugging.

       -H fqdn
	       Create  a shortlist and add fqdn	to the shortlist.  rpki-client
	       only connects to	shortlisted hosts.  The	 shortlist  filter  is
	       enforced	 during	 processing  of	the Subject Information	Access
	       (SIA) extension in CA certificates, thus	applies	to both	 RSYNC
	       and RRDP	connections.  This option can be used multiple times.

       -j      Create  output in the file json in the output directory as JSON
	       object.	See -c for a description of the	fields.

       -m      Create output in	the file metrics in the	 output	 directory  in
	       OpenMetrics format.

       -n      Offline	mode.	Validate the contents of cachedir and write to
	       outputdir without synchronizing via RRDP	or RSYNC.

       -o      Create output in	the file openbgpd in the output	 directory  as
	       bgpd(8)	compatible  input.   If	the -B,	-c, and	-j options are
	       not specified this is the default.

       -P posix-seconds
	       Specify the time	for the	evaluation  in	posix-seconds  seconds
	       from  the  unix epoch.  This overrides the default of using the
	       current system time.

       -p threads
	       Validate	using the specified number of threads.	The default is
	       two.  Has no effect in combination with -f.

       -R      Disable RRDP, synchronize only via RSYNC.

       -S skiplist
	       Do not connect to hosts listed in the skiplist  file.   Entries
	       in  the	skiplist  are newline separated	Fully Qualified	Domain
	       Names (FQDNs).  A `#' indicates the  beginning  of  a  comment;
	       characters  up to the end of the	line are not interpreted.  The
	       skip filter  is	enforced  during  processing  of  the  Subject
	       Information Access (SIA)	extension in CA	certificates, thus ap-
	       plies  to both RSYNC and	RRDP connections.  By default load en-
	       tries from /usr/local/etc/rpki/skiplist.

       -s timeout
	       Terminate after timeout	seconds	 of  runtime,  because	normal
	       practice	 will  restart from cron(8).  Disable by specifying 0.
	       Defaults	to 1 hour.   Individual	 RSYNC/RRDP  repositories  are
	       timed  out after	one fourth of timeout.	All network synchroni-
	       sation tasks are	aborted	after seven eights of timeout.

       -t tal  Specify a Trust Anchor Locator (TAL) file to be used.  This op-
	       tion can	be used	multiple times to load multiple	TALs.  By  de-
	       fault	rpki-client    will    load    all    TAL   files   in
	       /usr/local/etc/rpki.  TAL are small files containing  a	public
	       key and URL endpoint address.

       -V      Show the	version	and exit.

       -v      Increase	 verbosity.   Specify once for synchronisation status,
	       twice to	print the name of each file as it's processed.	If  -f
	       is  given, specify once to print	more information about the en-
	       capsulated X.509	certificate, twice to print the	certificate in
	       PEM format.

       -x      Enable processing of experimental file formats.	This option is
	       implied by -f.

       outputdir
	       The directory where rpki-client will write  the	output	files.
	       Defaults	to /var/db/rpki-client.

       By  default  rpki-client	 outputs  validated  payloads in -joBcm	(JSON,
       OpenBGPD, BIRD, CSV and OpenMetric) formats.

       rpki-client should be run hourly	by cron(8): use	crontab(1)  to	uncom-
       ment the	entry in root's	crontab.

TRUST ANCHOR CONSTRAINTS
       rpki-client  can	impose locally configured constraints on cryptographic
       products	subordinate to publicly-trusted	Trust Anchors.

       Constraining a Trust Anchor's effective signing authority to a  limited
       set  of Internet	Number Resources allows	Relying	Parties	to take	advan-
       tage of the potential benefits of assuming trust, while deriving	 trust
       within a	bounded	scope.

       Each  .constraints  file	imposes	constraints on the Trust Anchor	reach-
       able via	the same-named .tal file.  One entry per line.	Entries	can be
       IP prefixes, IP	address	 ranges,  AS  identifiers,  or	AS  identifier
       ranges.	 Ranges	are a minimum and maximum separated by a hyphen	(`-').
       Comments	can be put anywhere in the file	using a	hash mark  (`#'),  and
       extend  to  the	end of the current line.  deny entries may not overlap
       with other deny entries.	 allow entries	may  not  overlap  with	 other
       allow entries.

       A given EE certificate's	resources may not overlap with any deny	entry,
       and must	be fully contained within the allow entries.

ENVIRONMENT
       rpki-client utilizes the	following environment variables:

       http_proxy  URL of HTTP proxy to	use.

FILES
       /usr/local/etc/rpki/*.tal     default  TAL  files used unless -t	tal is
				     specified.	 The TAL files of the five Re-
				     gional Internet Registries	are included.
       /usr/local/etc/rpki/*.constraints
				     files containing  registry-specific  con-
				     straints  to  restrict  what IP addresses
				     and AS identifiers	may or may not	appear
				     in	 EE  certificates  subordinate	to the
				     same-named	Trust Anchor.
       /usr/local/etc/rpki/skiplist  default skiplist file, unless -S skiplist
				     is	specified.
       /var/cache/rpki-client	     cached repository data.
       /var/db/rpki-client/openbgpd  default roa-set output file.
       /var/db/rpki-client/rpki.ccr  DER-encoded canonical  cache  representa-
				     tion file.	 This facility is experimental
				     and is still subject to change.

EXIT STATUS
       The rpki-client utility exits 0 on success, and >0 if an	error occurs.

SEE ALSO
       rsync(1), bgpd.conf(5)

STANDARDS
       X.509 Extensions	for IP Addresses and AS	Identifiers, RFC 3779.

       Internet	 X.509	Public Key Infrastructure Certificate and CRL Profile,
       RFC 5280.

       Cryptographic Message Syntax (CMS), RFC 5652.

       The rsync URI Scheme, RFC 5781.

       An Infrastructure to Support Secure Internet Routing, RFC 6480.

       A Profile for Resource Certificate Repository Structure,	RFC 6481.

       A Profile for X.509 PKIX	Resource Certificates, RFC 6487.

       Signed Object Template for the RPKI, RFC	6488.

       The RPKI	Ghostbusters Record, RFC 6493.

       Policy Qualifiers in RPKI Certificates, RFC 7318.

       The Profile for Algorithms and Key Sizes	for Use	in the RPKI, RFC 7935.

       The RPKI	Repository Delta Protocol (RRDP), RFC 8182.

       A Profile for BGPsec Router Certificates, Certificate Revocation	Lists,
       and Certification Requests, RFC 8209.

       RPKI Trust Anchor Locator, RFC 8630.

       Manifests for the RPKI, RFC 9286.

       A Profile for RPKI Signed Checklists (RSCs), RFC	9323.

       A Profile for Route Origin Authorizations (ROAs), RFC 9582.

       On the use of the CMS Signing-Time Attribute in	RPKI  Signed  Objects,
       RFC 9589.

       Finding and Using Geofeed Data, RFC 9632.

       Same-Origin Policy for the RRDP,	RFC 9674.

       A Profile for RPKI Trust	Anchor Keys, RFC 9691.

       Detecting RRDP Session Desynchronization, RFC 9697.

       Handling	of RPKI	CRL Number Extensions, RFC 9829.

       A   Profile   for  Autonomous  System  Provider	Authorization  (ASPA),
       https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-profile,
       Jun, 2023.

       Constraining		 RPKI		   Trust	      Anchors,
       https://datatracker.ietf.org/doc/html/draft-snijders-constraining-rpki-
       trust-anchors, September, 2023.

       A   profile   for   Signed   Prefix   Lists   for   Use	in  the	 RPKI,
       https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-rpki-
       prefixlist-02, Jan, 2024.

       RPKI		 Manifest		Number		     Handling,
       https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-manifest-
       numbers,	June, 2024.

       Tiebreaking		 RPKI		   Trust	      Anchors,
       https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-rpki-ta-
       tiebreaker, June, 2024.

       A    Profile    for    RPKI     Canonical     Cache     Representation,
       https://datatracker.ietf.org/doc/html/draft-spaghetti-sidrops-rpki-ccr,
       September, 2025.

HISTORY
       rpki-client first appeared in OpenBSD 6.7.

AUTHORS
       Kristaps	      Dzonsons	    <kristaps@bsd.lv>,	    Claudio	 Jeker
       <claudio@openbsd.org>, Theo Buehler <tb@openbsd.org>, and Job  Snijders
       <job@openbsd.org>.

FreeBSD	ports 15.0	      September	11, 2025		RPKI-CLIENT(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rpki-client&sektion=8&manpath=FreeBSD+Ports+15.0>

home | help