Provided by: libreswan_4.14-1ubuntu2_amd64 bug

NAME

       ipsec_ecdsasigkey - generate ECDSA signature key

SYNOPSIS


       ipsec ecdsasigkey [--verbose] [--seeddev device] [--seed numbits] [--nssdir nssdir]
             [--password nsspassword] [--hostname hostname] [curvename]

DESCRIPTION

       ecdsasigkey generates an ECDSA public/private key pair, suitable for digital signatures, on a named curve
       specified with curvename. Currently it only accepts secp256r1, secp384r1, and secp521r1.

       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 ecdsasigkey 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 /var/lib/ipsec/nss.

       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 /etc/ipsec.d/nsspassword,
       the password comes from that file; otherwise argument is the password.

EXAMPLES

       ipsec ecdsasigkey --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

       ecdsasigkey'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 ECDSA key on another machine, and copying ipsec.secrets and the
       /var/lib/ipsec/nss 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                                          03/31/2024                               IPSEC_ECDSASIGKEY(8)