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

FreeBSD Manual Pages

  
 
  

home | help
IPSEC_RSASIGKEY(8)	      Executable programs	    IPSEC_RSASIGKEY(8)

NAME
       ipsec_rsasigkey - generate RSA signature	key

SYNOPSIS

       ipsec rsasigkey [--verbose] [--seeddev device] [--seed numbits]
	     [--nssdir nssdir] [--password nsspassword]	[--hostname hostname]
	     [nbits]

DESCRIPTION
       rsasigkey generates an RSA public/private key pair, suitable for
       digital signatures, of (exactly)	nbits bits (that is, two primes	each
       of exactly nbits/2 bits,	and related numbers) and emits it on standard
       output as ASCII (mostly hex) data.  nbits must be a multiple of 16.

       The public exponent is forced to	the value 3, which has important speed
       advantages for signature	checking. Beware that the resulting keys have
       known weaknesses	as encryption keys and should not be used for that
       purpose.

       The --verbose option makes rsasigkey give a running commentary on
       standard	error. By default, it works in silence until it	is ready to
       generate	output.

       The --seeddev option specifies a	source for random bits used to seed
       the crypto library's RNG. The default is	/dev/random (see random(4)).
       FreeS/WAN and Openswan without NSS support used this option to specify
       the random source used to directly create keys. Libreswan only uses it
       to seed the NSS crypto libraries	RNG. Under Linux with hardware random
       support,	special	devices	might show up as /dev/*rng* devices. However,
       these should never be accessed directly using this option, as hardware
       failures	could lead to extremely	non-random values (streams of zeroes
       have been observed in the wild)

       The --seedbits option specifies how many	seed bits are pulled from the
       random device to	seed the NSS PRNG. The default of 480bit comes from
       FIPS requirements. Seed bits are	rounded	up to a	multiple of 8.

       The use of a different random device or a reduction of seedbits from
       the default value is prevented when the system is running in FIPS mode.

       The --nssdir option specifies the directory to use for the nss
       database. This is the directory where the NSS certificate, key and
       security	modules	databases reside. The default value is
       /usr/local/etc/ipsec.d.

       The --password option specifies the nss cryptographic module
       authentication password if the NSS module has been configured to
       require it. A password is required by hardware tokens and also by the
       internal	software token module when configured to run in	FIPS mode. If
       the argument is /usr/local/etc/ipsec.d/nsspassword, the password	comes
       from that file; otherwise argument is the password.

       The US patent on	the RSA	algorithm expired 20 Sept 2000.

EXAMPLES
       ipsec rsasigkey --verbose 4096
	   generates a 4096-bit	signature key and stores this key in the NSS
	   database. The public	key can	then be	extracted and edited into the
	   ipsec.conf (see ipsec_showhostkey(8)).

FILES
       /dev/random, /dev/urandom

SEE ALSO
       random(4), rngd(8), ipsec_showhostkey(8), Applied Cryptography, 2nd.
       ed., by Bruce Schneier, Wiley 1996, RFCs	2537, 2313, GNU	MP, the	GNU
       multiple	precision arithmetic library, edition 2.0.2, by	Torbj Granlund

HISTORY
       Originally written for the Linux	FreeS/WAN project
       <https://www.freeswan.org> by Henry Spencer. Updated for	the Libreswan
       Project by Paul Wouters.

       The --round and --noopt options were obsoleted as these were only used
       with the	old non-library	crypto code

       The --random device is only used	for seeding the	crypto library,	not
       for direct random to generate keys

BUGS
       There is	an internal limit on nbits, currently 20000.

       rsasigkey's run time is difficult to predict, since /dev/random output
       can be arbitrarily delayed if the system's entropy pool is low on
       randomness, and the time	taken by the search for	primes is also
       somewhat	unpredictable. Specifically, embedded systems and most virtual
       machines	are low	on entropy. In such a situation, consider generating
       the RSA key on another machine, and copying ipsec.secrets and the
       /usr/local/etc/ipsec.d directory	tree to	the embedded platform. Note
       that NSS	embeds the full	path in	the DB files, so the path on proxy
       machine must be identical to the	path on	the destination	machine.

AUTHOR
       Paul Wouters
	   placeholder to suppress warning

libreswan			  05/13/2025		    IPSEC_RSASIGKEY(8)

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

home | help