Overview
Implement RData parsers for DNSSEC record types to enable the server to correctly parse and serialize DNSSEC responses. This is Phase 1B of DNSSEC support.
Parent Issue
Prerequisites
- EDNS(0) support must be in place to request DNSSEC records via DO bit
Background
DNSSEC introduces several new record types that must be parsed correctly:
- RRSIG (type 46): Signatures over RRsets
- DNSKEY (type 48): Public keys for a zone
- DS (type 43): Delegation signer linking parent to child zone
- NSEC (type 47): Authenticated denial of existence
- NSEC3 (type 50): Hashed authenticated denial (optional, per RFC 5155)
The record types are already defined in ResourceType.cs; this issue adds the RData parsing logic.
Implementation Tasks
RRSIG Record (RFC 4034 §3)
DNSKEY Record (RFC 4034 §2)
DS Record (RFC 4034 §5)
NSEC Record (RFC 4034 §4)
NSEC3 Record (RFC 5155) — Optional
Algorithm Constants
Digest Type Constants
Testing
Test Data Sources
# Capture real DNSSEC records for test fixtures
dig +dnssec example.com DNSKEY
dig +dnssec example.com A
dig +dnssec nonexistent.example.com A # For NSEC
Technical References
Acceptance Criteria
Related Issues
Overview
Implement RData parsers for DNSSEC record types to enable the server to correctly parse and serialize DNSSEC responses. This is Phase 1B of DNSSEC support.
Parent Issue
Prerequisites
Background
DNSSEC introduces several new record types that must be parsed correctly:
The record types are already defined in
ResourceType.cs; this issue adds the RData parsing logic.Implementation Tasks
RRSIG Record (RFC 4034 §3)
RrsigRDataclass with fields:Parse()andWriteToStream()ResourceList.LoadFrom()switchDNSKEY Record (RFC 4034 §2)
DnskeyRDataclass with fields:IsZoneKey,IsSecureEntryPointParse()andWriteToStream()DS Record (RFC 4034 §5)
DsRDataclass with fields:Parse()andWriteToStream()NSEC Record (RFC 4034 §4)
NsecRDataclass with fields:Parse()andWriteToStream()NSEC3 Record (RFC 5155) — Optional
Nsec3RDataclass with fields:Parse()andWriteToStream()Algorithm Constants
DnssecAlgorithmenum:Digest Type Constants
DigestTypeenum for DS recordsTesting
dig +dnssec)Test Data Sources
Technical References
Acceptance Criteria
Related Issues