https://github.com/silverwind/caa
rfc6844-conform CAA record lookup and validation
https://github.com/silverwind/caa
caa dns letsencrypt module nodejs tls
Last synced: about 1 month ago
JSON representation
rfc6844-conform CAA record lookup and validation
- Host: GitHub
- URL: https://github.com/silverwind/caa
- Owner: silverwind
- License: bsd-2-clause
- Created: 2018-08-02T21:27:11.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2026-05-07T00:52:27.000Z (about 2 months ago)
- Last Synced: 2026-05-07T02:14:12.296Z (about 2 months ago)
- Topics: caa, dns, letsencrypt, module, nodejs, tls
- Language: TypeScript
- Homepage:
- Size: 720 KB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# caa
[](https://www.npmjs.org/package/caa) [](https://www.npmjs.org/package/caa) [](https://packagephobia.com/result?p=caa)
> [rfc8659](https://www.rfc-editor.org/rfc/rfc8659)-conform CAA record lookup and validation
## Usage
```js
import {caa, caaMatches} from "caa";
await caa("example.com");
// => [{flags: 0, tag: 'issue', value: 'letsencrypt.org', issuerCritical: false}]
await caaMatches("example.com", "letsencrypt.org");
// => true
```
## API
### `caa(name, [options])`
Retrieve the CAA records which apply to `name`. Returns a [`CAA` object](https://github.com/mafintosh/dns-packet/#caa).
### `caaMatches(name, ca, [options])`
Test if the CAA record for `name` matches for certificate authority `ca`.
#### `options`
- `servers`: The DNS servers to use. Defaults to the system resolvers or `['8.8.8.8', '8.8.4.4']` if none are configured.
- `port`: The port on the DNS server to use. Default `53`.
- `recursions`: How many recursions to follow. Default `50`.
- `retries`: How many retries to attempt. Default `12`.
- `ignoreTLDs`: Don't query top level domains like `com` in `example.com`. Default: `false`.
- `dnsSocket`: A [dns-socket instance](https://github.com/mafintosh/dns-socket#var-socket--dnsoptions), useful when doing a large amount of queries to re-use a single socket. Default: `undefined`.
## License
© [silverwind](https://github.com/silverwind), distributed under BSD licence