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] [--nss-
	   dir 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 ad-
     vantages 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  out-
     put.

     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 de-
     vices  might  show up as /dev/*rng* devices. However, these should never be
     accessed directly using this option, as hardware failures could lead to ex-
     tremely non-random values (streams of zeroes  have  been  observed  in  the
     wild)

     The --seedbits option specifies how many seed bits are pulled from the ran-
     dom  device to seed the NSS PRNG. The default of 480bit comes from FIPS re-
     quirements. 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/lo-
     cal/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 data-
	 base. 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  en-
     tropy.  In such a situation, consider generating the RSA key on another ma-
     chine, 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			   08/01/2026		      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+15.1.quarterly>

home | help