---
name: "getdns_validate_dnssec"
section: "3"
platform: "linux"
package: "getdns"
version: "1.7.3-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/getdns_validate_dnssec"
---

# getdns\_validate\_dnssec(3)

## NAME

**getdns\_validate\_dnssec** -- DNSSEC validate a given getdns record

## LIBRARY

DNS Resolver library (libgetdns, -lgetdns)

## SYNOPSIS

\#include \<getdns.h\>

getdns\_return\_t \
 **getdns\_validate\_dnssec** (getdns\_list \*record\_to\_validate,\

getdns\_list \*bundle\_of\_support\_records,\
 getdns\_list \*trust\_anchor\_records)

## DESCRIPTION

If an application wants the API to perform DNSSEC validation without using the extensions, it can use the getdns\_validate\_dnssec() helper function. The API will use the resource records in bundle\_of\_support\_records to construct the validation chain and the DNSKEY or DS records in trust\_anchor\_records as trust anchors. The default list of trust anchor records that is used by the library to validate DNSSEC can be retrieved by using the getdns\_root\_trust\_anchor helper function.

*record\_to\_validate* the resource record being validated

*bundle\_of\_support\_records* records used to construct the validation chain

*trust\_anchor\_records* trust anchor records to use for the validation

## RETURN VALUES

**GETDNS\_DNSSEC\_BOGUS** the DNSSEC signature is bogus

**GETDNS\_DNSSEC\_INDETERMINATE** validation could not be completed

**GETDNS\_DNSSEC\_INSECURE** one or more pieces of the validation chain are demonstrably incorrect

**GETDNS\_DNSSEC\_SECURE** validation succeeded

**GETDNS\_RETURN\_MEMORY\_ERROR** an attempt to allocate memory failed

## EXAMPLES

TBD

## SEE ALSO

[**getdns\_root\_trust\_anchor**(3)](/getdns_root_trust_anchor/3.md) [**libgetdns**(3)](/libgetdns/3.md)
