dnssec-keygen(1M)
Posted 白色的番茄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dnssec-keygen(1M)相关的知识,希望对你有一定的参考价值。
名称
dnssec-keygen - 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 中定义的那样。
选项
支持以下选项:
- –a algorithm
-
选择加密算法。algorithm 的值必须是 RSAMD5 (RSA) 或 RSASHA1 之一、DSA、NSEC3RSASHA1、NSEC3DSA、DH (Diffie-Hellman) 或 HMAC-MD5。这些值不区分大小写。
对于 DNSSEC,RSASHA1 是强制实现的算法;DSA 是建议的算法。对于 TSIG,HMAC-MD5 是强制算法。
注 - 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 密钥,则使用大指数。
- –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))、HOST 或 ENTITY(对于与主机相关的密钥 (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 必须是 AUTHCONF、NOAUTHCONF、NOAUTH 或 NOCONF 之一。缺省值是 AUTHCONF。AUTH 指的是验证数据的能力,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(可变)
|
以上是关于dnssec-keygen(1M)的主要内容,如果未能解决你的问题,请参考以下文章