DNS_SIG_DATAA structure (windns.h)

The DNS_RRSIG_DATA structure represents a DNS Security Extensions (DNSSEC) cryptographic signature (SIG) resource record (RR) as specified in RFC 4034.

Syntax

typedef struct {
  WORD  wTypeCovered;
  BYTE  chAlgorithm;
  BYTE  chLabelCount;
  DWORD dwOriginalTtl;
  DWORD dwExpiration;
  DWORD dwTimeSigned;
  WORD  wKeyTag;
  WORD  wSignatureLength;
  PSTR  pNameSigner;
#if ...
  BYTE  Signature[];
#else
  BYTE  Signature[1];
#endif
} DNS_SIG_DATAA, *PDNS_SIG_DATAA, DNS_RRSIG_DATAA, *PDNS_RRSIG_DATAA;

Members

wTypeCovered

The DNS Record Type of the signed RRs.

chAlgorithm

A value that specifies the algorithm used to generate Signature. The possible values are shown in the following table.

Value Meaning
1
RSA/MD5 (RFC 2537)
2
Diffie-Hellman (RFC 2539)
3
DSA (RFC 2536)
4
Elliptic curve cryptography
5
RSA/SHA-1 (RFC 3110)

chLabelCount

The number of labels in the original signature RR owner name as specified in section 3.1.3 of RFC 4034.

dwOriginalTtl

The Time-to-Live (TTL) value of the RR set signed by Signature.

dwExpiration

The expiration date of Signature, expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds.

dwTimeSigned

The date and time at which Signature becomes valid, expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds.

wKeyTag

A value that represents the method to choose which public key is used to verify Signature as specified Appendix B of RFC 4034.

wSignatureLength

pNameSigner

A pointer to a string that represents the name of the Signature generator.

Signature

A BYTE array that contains the RR set signature as specified in section 3.1.8 of RFC 4034.

Signature[1]

A BYTE array that contains the RR set signature as specified in section 3.1.8 of RFC 4034.

Remarks

The DNS_RRSIG_DATA structure is used in conjunction with the DNS_RECORD structure to programmatically manage DNS entries.

Note

The windns.h header defines DNS_SIG_DATA as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header windns.h

See also

DNS Structures

DNS_RECORD