跳过导航链接 | |
退出打印视图 | |
![]() |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11.1 Information Library (简体中文) |
- DNSSEC 密钥生成工具
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 中定义的那样。
支持以下选项:
选择加密算法。algorithm 的值必须是 RSAMD5 (RSA) 或 RSASHA1 之一、DSA、NSEC3RSASHA1、NSEC3DSA、DH (Diffie-Hellman) 或 HMAC-MD5。这些值不区分大小写。
对于 DNSSEC,RSASHA1 是强制实现的算法;DSA 是建议的算法。对于 TSIG,HMAC-MD5 是强制算法。
注 - HMAC-MD5 和 DH 自动设置 -k 标志。
指定密钥中的位数。密钥大小的选择取决于使用的算法。RSAMD5 和 RSASHA1 密钥必须在 512 和 2048 位之间。Diffie-Hellman 密钥必须在 128 和 4096 位之间。DSA 密钥必须在 512 和 1024 位之间,并且必须是 64 的整数倍。HMAC-MD5 密钥必须在 1 位和 512 位之间。
表明包含密钥的 DNS 记录应该具有指定类。如果没有指定,将使用类 IN。
如果生成 RSAMD5 或 RSASHA1 密钥,则使用大指数。
在 KEY/DNSKEY 记录的标志字段中设置指定的标志。唯一识别的标志是 KSK(Key Signing Key,密钥签名密钥)DNSKEY。
如果生成 Diffie Hellman 密钥,则使用此 generator。允许的值是 2 和 5。如果没有指定 generator,则将使用 RFC 2539 中的已知索数(如果可能);否则,缺省值是 2。
列出 dnssec-keygen 的选项和参数的简短摘要。
生成 KEY 记录,而不是 DNSKEY 记录。
指定密钥的所有者类型。nametype 的值必须是 ZONE(对于 DNSSEC 区域密钥 (KEY/DNSKEY))、HOST 或 ENTITY(对于与主机相关的密钥 (KEY))、USER(对于与用户相关的密钥 (KEY))或 OTHER (DNSKEY)。这些值不区分大小写。缺省值是 ZONE(用于生成 DNSKEY)。
为生成的密钥设置协议值。protocol 参数是 0 到 255 之间的数字。缺省值是 3 (DNSSEC)。在 RFC 2535 及其后续版本中列出了此参数的其他可能值。
指定随机源。如果操作系统不提供 /dev/random 或等效设备,则缺省的随机源是键盘输入。randomdev 指定字符设备的名称或包含要使用的随机数据的文件(而非缺省文件)。特殊值 "keyboard" 表示应该使用键盘输入。
指定密钥的强度值。strength 参数是 0 到 15 之间的数字,且当前尚未在 DNSSEC 中定义其用途。
表明密钥的用途。type 必须是 AUTHCONF、NOAUTHCONF、NOAUTH 或 NOCONF 之一。缺省值是 AUTHCONF。AUTH 指的是验证数据的能力,CONF 指的是加密数据的能力。
设置调试级别。
当 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):
|
dnssec-signzone(1M)、attributes(5)
RFC 2539、RFC 2845、RFC 4033
请参见《BIND 9 管理员参考手册》。从本手册页发布之日起,将在 https://www.isc.org/software/bind/documentation 上提供该文档。