DNS_TKEY_DATAA结构(windns.h)

DNS_TKEY_DATA 结构表示 DNS TKEY 资源记录,用于在 DNS 解析程序与服务器之间建立和删除算法的共享密钥,如 RFC 2930中指定的

语法

typedef struct {
  PSTR  pNameAlgorithm;
  PBYTE pAlgorithmPacket;
  PBYTE pKey;
  PBYTE pOtherData;
  DWORD dwCreateTime;
  DWORD dwExpireTime;
  WORD  wMode;
  WORD  wError;
  WORD  wKeyLength;
  WORD  wOtherLength;
  UCHAR cAlgNameLength;
  BOOL  bPacketPointers;
} DNS_TKEY_DATAA, *PDNS_TKEY_DATAA;

成员

pNameAlgorithm

指向表示 RFC 2930第 2.1 节中定义的键名称的字符串的指针。

pAlgorithmPacket

指向一个字符串的指针,该字符串表示 RFC 2930第 2.3 节中定义的算法的名称。 pKey 用于派生算法特定的密钥。

pKey

指向可变长度共享密钥的指针。

pOtherData

保留。 请勿使用。

dwCreateTime

创建密钥的日期和时间,表示自 1970 年 1 月 1 日开始以来的秒数,格林威治平均时间(GMT),不包括跳跃秒。

dwExpireTime

密钥的到期日期,以秒为单位,从 1970 年 1 月 1 日开始,格林威治平均时间(GMT),不包括跳跃秒。

wMode

用于密钥协议或 TKEY DNS 消息用途的方案。 下面列出了 wMode 的可能值:

价值 意义
DNS_TKEY_MODE_SERVER_ASSIGN
密钥由 DNS 服务器分配,不会协商。
DNS_TKEY_MODE_DIFFIE_HELLMAN
Diffie-Hellman 密钥交换算法用于协商密钥。
DNS_TKEY_MODE_GSS
密钥通过通用安全 Services-Application 程序接口(GSS-API)协商进行交换。
DNS_TKEY_MODE_RESOLVER_ASSIGN
密钥由 DNS 解析程序分配,不会协商。

wError

以涵盖 TSIG 和 TKEY RR 处理的扩展 RCODE 格式表示的错误。

价值 意义
DNS_RCODE_BADSIG
DNS_TSIG_DATA RR 的 pSignature 不正确。
DNS_RCODE_BADKEY
pKey 字段不正确。
DNS_RCODE_BADTIME
时间戳不正确。

wKeyLength

pKey 成员的长度(以字节为单位)。

wOtherLength

pOtherData 成员的长度(以字节为单位)。

cAlgNameLength

pNameAlgorithm 成员的长度(以字节为单位)。

bPacketPointers

保留。 请勿使用。

言论

DNS_TKEY_DATA 结构与 DNS_RECORD 结构结合使用,以编程方式管理 DNS 条目。

注意

windns.h 标头将DNS_TKEY_DATA定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
标头 windns.h

另请参阅

DNS_RECORD

DNS_TSIG_DATA