dnssec-keygen(1M)

名称

dnssec-keygen - DNSSEC 密钥生成工具html

用法概要

dnssec-keygen -a algorithm -b keysize -n nametype [-ehk] 
     [-c class] [-f flag] [-g generator] [-p protocol] 
     [-r randomdev] [-s strength] [-t type] [-v level] name

描述

dnssec-keygen 实用程序为 DNSSEC(安全 DNS)生成密钥,如 RFC 2535 和 RFC 4034 中定义的那样。它还能够生成与 TSIG(Transaction Signature,事务签名)一块儿使用的密钥,如 RFC 2845 中定义的那样。算法

选项

支持如下选项:安全

–a algorithm

选择加密算法。algorithm 的值必须是 RSAMD5 (RSA) 或 RSASHA1 之1、DSA、NSEC3RSASHA一、NSEC3DSA、DH (Diffie-Hellman) 或 HMAC-MD5。这些值不区分大小写。oracle

对于 DNSSEC,RSASHA1 是强制实现的算法;DSA 是建议的算法。对于 TSIG,HMAC-MD5 是强制算法。dom


注 - HMAC-MD5 和 DH 自动设置 –k 标志。
–b keysize

指定密钥中的位数。密钥大小的选择取决于使用的算法。RSAMD5 和 RSASHA1 密钥必须在 512 和 2048 位之间。Diffie-Hellman 密钥必须在 128 和 4096 位之间。DSA 密钥必须在 512 和 1024 位之间,而且必须是 64 的整数倍。HMAC-MD5 密钥必须在 1 位和 512 位之间。工具

–c class

代表包含密钥的 DNS 记录应该具备指定类。若是没有指定,将使用类 IN。加密

–e

若是生成 RSAMD5 或 RSASHA1 密钥,则使用大指数。spa

–f flag

在 KEY/DNSKEY 记录的标志字段中设置指定的标志。惟一识别的标志是 KSK(Key Signing Key,密钥签名密钥)DNSKEY。操作系统

–g generator

若是生成 Diffie Hellman 密钥,则使用此 generator。容许的值是 2 和 5。若是没有指定 generator,则将使用 RFC 2539 中的已知索数(若是可能);不然,缺省值是 2。调试

–h

列出 dnssec-keygen 的选项和参数的简短摘要。

–k

生成 KEY 记录,而不是 DNSKEY 记录。

–n nametype

指定密钥的全部者类型。nametype 的值必须是 ZONE(对于 DNSSEC 区域密钥 (KEY/DNSKEY))、HOSTENTITY(对于与主机相关的密钥 (KEY))、USER(对于与用户相关的密钥 (KEY))或 OTHER (DNSKEY)。这些值不区分大小写。缺省值是 ZONE(用于生成 DNSKEY)。

–p protocol

为生成的密钥设置协议值。protocol 参数是 0 到 255 之间的数字。缺省值是 3 (DNSSEC)。在 RFC 2535 及其后续版本中列出了此参数的其余可能值。

–r randomdev

指定随机源。若是操做系统不提供 /dev/random 或等效设备,则缺省的随机源是键盘输入。randomdev 指定字符设备的名称或包含要使用的随机数据的文件(而非缺省文件)。特殊值 "keyboard" 表示应该使用键盘输入。

–s strength

指定密钥的强度值。strength 参数是 0 到 15 之间的数字,且当前还没有在 DNSSEC 中定义其用途。

–t type

代表密钥的用途。type 必须是 AUTHCONFNOAUTHCONFNOAUTHNOCONF 之一。缺省值是 AUTHCONFAUTH 指的是验证数据的能力,CONF 指的是加密数据的能力。

–v level

设置调试级别。

生成的密钥

生成的密钥

dnssec-keygen 成功完成时,会向标准输出中输出 Knnnn.+aaa+iiiii 格式的字符串。这是其生成的密钥的标识字符串。

  • nnnn 是密钥名称。

  • aaa 是算法的数字表示。

  • iiiii 是密钥标识符(或足迹)。

dnssec-keygen 实用程序建立两个文件,并根据列出的字符串命名这两个文件。

  • Knnnn.+aaa+iiiii.key 包含公钥。

  • Knnnn.+aaa+iiiii.private 包含私钥。

.key 文件包含 DNS KEY 记录,该记录能够直接插入到区域文件,也可使用 $INCLUDE 语句插入。

.private 文件包含算法特定的字段。出于安全缘由,此文件不具备通常读取权限。

对于对称加密算法(如 HMAC-MD5),将生成 .key.private 文件,即便公钥和私钥等效也如此。

示例

示例 1 生成 768 位 DSA 密钥

要为域 example.com 生成 768 位 DSA 密钥,则将发出如下命令:

dnssec-keygen -a DSA -b 768 -n ZONE example.com

该命令将列出如下格式的字符串:

Kexample.com.+003+26160

将建立如下文件:

Kexample.com.+003+26160.key
Kexample.com.+003+26160.private

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
service/network/dns/bind
接口稳定性
Volatile(可变)
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息