dnskeygen(1) [osf1 man page]
dnskeygen(1) General Commands Manual dnskeygen(1) NAME
dnskeygen - Generates public, private, and shared secret keys for DNS Security SYNOPSIS
/usr/bin/dnskeygen [-DHR] key-size [-zhu] [-p value] [-s value] -n name OPTIONS
Specifies that the key cannot be used for authentication. Specifies that the key cannot be used for encryption. Generates a DSA/DSS key. The size (in bytes) must be one of the following values: 512, 576, 640, 704, 768, 832, 896, 960, or 1024. Uses a large exponent for key generation (RSA only). Generates an HMAC-MD5 key. The size (in bytes) must be between 1 and 512. Generates a Host key for a host or ser- vice. Specifies the name of the key that you generate. Sets the protocol field value. The default is 2 (E-mail) for Host keys and 3 (DNS Security) for all others. Generates an RSA key. The size (in bytes) must be between 512 and 4096. Sets the strength value with which this key signs DNS records. The default is 1 for Zone keys and 0 for all others. Generates a User key for E-mail or another purpose. Generates a Zone key for DNS validation. When the dnskeygen command is executed with no options, it generates output containing a list of its options. DESCRIPTION
Use the dnskeygen utility to generate and maintain keys for DNS Security. The utility can generate public and private keys to authenticate zone data and shared secret keys to use for Request/Transaction signatures. RESTRICTIONS
Although the dnskeygen command supports the full range of options offered by the Internet Software Consortium's (ISC) original program, at this time, the operating system supports only the keys it generates for secure dynamic updates and zone transfers. See bind_manual_setup(7) and the Network Administration guide for more information about these features. EXAMPLES
In the following example, an administrator creates a private key for authentication of DNS dynamic updates (the forward slash indicates line continuation): # dnskeygen -H 1024 -h -c -n pubnet-enterprise_update ** Adding dot to the name to make it fully qualified domain name** Generating 1024 bit HMAC-MD5 Key for pubnet-enterprise_update. Generated 1024 bit Key for pubnet-enterprise_update. id=0 alg=157 flags=16897 # ls K* Kpubnet-enterprise_update.+157+00000.key Kpubnet-enterprise_update.+157+00000.private FILES
The dnskeygen command generates two files in the directory in which it is executed: Public key file. Private key file. SEE ALSO
Commands: named(8) Files: named.conf(4) Others: bind_manual_setup(7) Network Administration dnskeygen(1)
Check Out this Related Man Page
dnssec-keygen(1M) System Administration Commands dnssec-keygen(1M) NAME
dnssec-keygen - DNSSEC key generation tool SYNOPSIS
dnssec-keygen -a algorithm -b keysize -n nametype [-eh] [-c class] [-g generator] [-p protocol] [-r randomdev] [-s strength] [-t type] [-v level] name DESCRIPTION
The dnssec-keygen utility generates keys for DNSSEC (Secure DNS), as defined in RFC 2535. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845. OPTIONS
The following options are supported: -a algorithm Select the cryptographic algorithm. The value of algorithm must be one of RSAMD5 or RSA, DSA, DH (Diffie Hellman), or HMAC- MD5. These values are case insensitive. For DNSSEC, DSA is mandatory to implement algorithm and RSA is recommended. For TSIG, HMAC-MD5 is mandatory. -b keysize Specify the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC-MD5 keys must be between 1 and 512 bits. -c class Indicate that the DNS record containing the key should have the specified class. If not specified, class IN is used. -e Use a large exponent if generating an RSA key. -g generator Use this generator if generating a Diffie Hellman key. Allowed values are 2 and 5. If no generator is specified, a known prime from RFC 2539 will be used if possible; otherwise the default is 2. -h Print a short summary of the options and arguments to dnssec-keygen. -n nametype Specify the owner type of the key. The value of nametype must either be ZONE (for a DNSSEC zone key), HOST or ENTITY (for a key associated with a host), or USER (for a key associated with a user). These values are case insensitive. -p protocol Set the protocol value for the generated key. The protocol argument is a number between 0 and 255. The default is 2 (email) for keys of type USER and 3 (DNSSEC) for all other key types. Other possible values for this argument are listed in RFC 2535 and its successors. -r randomdev Specify the source of randomness. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input. The randomdev argument specifies the name of a character device or file containing random data to be used instead of the default. The special value keyboard indicates that keyboard input should be used. -s strength Specify the strength value of the key. The strength argument is a number between 0 and 15, and currently has no defined purpose in DNSSEC. -t type Indicate the use of the key. type must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH refers to the ability to authenticate data, and CONF the ability to encrypt data. -v level Set the debugging level. GENERATED KEYS
When dnssec-keygen completes successfully, it prints a string of the form Knnnn.+aaa+iiiii to the standard output. This is an identifica- tion string for the key it has generated. These strings can be used as arguments to dnssec-makekeyset(1M). o nnnn is the key name. o aaa is the numeric representation of the algorithm. o iiiii is the key identifier (or footprint). The dnssec-keygen utility creates two file, with names based on the printed string. o Knnnn.+aaa+iiiii.key contains the public key. o Knnnn.+aaa+iiiii.private contains the private key. The .key file contains a DNS KEY record that can be inserted into a zone file (directly or with a $INCLUDE statement). The .private file contains algorithm specific fields. For obvious security reasons, this file does not have general read permission. Both .key and .private files are generated for symmetric encryption algorithm such as HMAC-MD5, even though the public and private key are equivalent. EXAMPLES
Example 1: Generate a 768-bit DSA key for the domain example.com. To generate a 768-bit DSA key for the domain example.com, the following command would be issued: dnssec-keygen -a DSA -b 768 -n ZONE example.com The command would print a string of the form: Kexample.com.+003+26160 Example 2: Create the files Kexample.com.+003+26160.key and Kexample.com.+003+26160.private. In the following example, dnssec-keygen creates the files Kexample.com.+003+26160.key and Kexample.com.+003+26160.private ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |Availability |SUNWbind9 | |Interface Stability |External | +-----------------------------+-----------------------------+ SEE ALSO
dnssec-makekeyset(1M), dnssec-signkey(1M), dnssec-signzone(1M), attributes(5) RFC 2535, RFC 2845, RFC 2539 BIND 9 Administrator Reference Manual NOTES
Source for BIND9 is available in the SUNWbind9S package. SunOS 5.10 15 Dec 2004 dnssec-keygen(1M)