OS Manuals

ipsec-showhostkey(8)

IPSEC-SHOWHOSTKEY(8) Executable programs IPSEC-SHOWHOSTKEY(8)


.SH "NAME" ipsec-showhostkey - show host's authentication key


.SH "SYNOPSIS"


.HP 432u


ipsec showhostkey


[--verbose]
[--nssdir directory] [--nsspw password] [--seeddev device] [--seedbits bits]


{| --version | --list | --dump | --left | --right | --ipseckey | --pem}


[| --ckaid ckaid | --rsaid rsaid]


[--gateway gateway]
[--precedence precedence]


.SH "DESCRIPTION"


.PP Showhostkey outputs (on standard output) a public key suitable for this host, in the format specified, using the host key information stored in the NSS database.


.PP In general, since only the super-user can access the NSS database, only the super-user can display the public key information.


.SS "Common Options"

.PP --version

Print the libreswan version, then exit.

.RE

.PP --verbose

Increase the verbosity.

.RE

.PP --nssdir nssdir

Specify the libreswan directory that contains the NSS database (default /var/lib/ipsec/nss).

.RE

.PP --password password

Specify the password to use when accessing the NSS database (default contained in /etc/ipsec.d/nsspassword).

.RE


.SS "List Options"

.PP --list

List the private keys.

.RE

.PP --dump

List, with more details, the private keys.

.RE


.SS "Public Key Options"

.PP --ckaid ckaid

Select the public key to display using the NSS ckaid.

.RE

.PP --rsaid rsaid

Select the public key to display using the RSA key ID.

.RE

.PP --pem

Print the selected public key in PEM encoded ASN.1 format.

.RE

.PP --left
--right

Print the selected public key in ipsec.conf(5) format, as a leftrsasigkey or rightrsasigkey parameter respectively. For example, --left might give (with the key data trimmed down for clarity):

.RS 4 leftrsasigkey=0sAQOF8tZ2...+buFuFn/

.RE

.PP --ipseckey

Print the selected public key in a format suitable for use as opportunistic-encryption DNS IPSECKEY record format (RFC 4025). A gateway can be specified with the --gateway, which currently supports IPv4 and IPv6 addresses. For the host name, the value returned by gethostname is used, with a . appended.

For example, --ipseckey --gateway 10.11.12.13 might give (with the key data trimmed for clarity):

.RS 4 IN IPSECKEY 10 1 2 10.11.12.13 AQOF8tZ2...+buFuFn/"

.RE

.PP --gateway gateway

For --ipseckey, specify the gateway to display with the DNS IPSECKEY record.

.RE

.PP --precedence precedence

For --ipseckey, specify the precedence to display with the DNS IPSECKEY record.

.RE


.SH "DIAGNOSTICS"


.PP A complaint about “no pubkey line found” indicates that the host has a key but it was generated with an old version of FreeS/WAN and does not contain the information that showhostkey needs.


.SH "FILES"


.PP /var/lib/ipsec/nss, /etc/ipsec.d/nsspassword


.SH "SEE ALSO"


.PP ipsec.conf(5), ipsec-rsasigkey(8), ipsec-newhostkey(8)


.SH "HISTORY"


.PP Written for the Linux FreeS/WAN project <https://www.freeswan.org> by Henry Spencer. Updated by Paul Wouters for the IPSECKEY format.


.SH "BUGS"


.PP Arguably, rather than just reporting the no-IN-KEY-line-found problem, showhostkey should be smart enough to run the existing key through rsasigkey with the --oldkey option, to generate a suitable output line.


.SH "AUTHOR"


Andrew Cagney, Daniel Kahn Gillmor, D. Hugh Redelmeier, Jose Quaresma, Michael Richardson, Paul Wouters, Tuomo Soini

10/06/2026 Libreswan v5.4.1-HEAD

libreswan 5.4.1-r0 · enterprise-packages · ingested 2026-10-06