class IPSECKEYRecordValidator implements DnsRecordValidatorInterface (View source)

IPSECKEY record validator

The IPSECKEY record type is used to store IPsec keying material in DNS. This allows devices to set up IPsec tunnels with each other by looking up the required keying material in the DNS. The record structure provides a flexible format for storing various types of keying material for different IPsec protocols.

Format:

Where:

  • precedence: An 8-bit unsigned integer priority value (0-255)
  • gateway type: Indicates gateway format (0=No gateway, 1=IPv4, 2=IPv6, 3=Domain name)
  • algorithm: Indicates public key format (0=No key, 1=RSA, 2=DSA, 3=ECDSA, 4=Ed25519)
  • gateway: The gateway element formatted according to gateway type
  • public key: Base64 encoded key material (optional if algorithm=0)

Examples:

  • 10 1 2 192.0.2.38 AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==
  • 10 0 2 . AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==
  • 10 2 2 2001:db8:0:8002::2000:1 AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==
  • 10 3 2 mygateway.example.com. AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==

Methods

__construct(ConfigurationManager $config)

No description

validate(string $content, string $name, mixed $prio, int|string|null $ttl, int $defaultTTL, mixed ...$args)

Validates IPSECKEY record content

Details

__construct(ConfigurationManager $config)

No description

Parameters

ConfigurationManager $config

ValidationResult validate(string $content, string $name, mixed $prio, int|string|null $ttl, int $defaultTTL, mixed ...$args)

Validates IPSECKEY record content

IPSECKEY format: Example: 10 1 2 192.0.2.1 AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==

Parameters

string $content

The content part of the record

string $name

The name part of the record

mixed $prio

The priority value (if applicable)

int|string|null $ttl

The TTL value

int $defaultTTL

The default TTL to use if not specified

mixed ...$args

Additional validator-specific parameters

Return Value

ValidationResult

ValidationResult containing validated data or error messages