/* Configuration: Keys */
dns_kasp_keylist_t keys;
dns_ttl_t dnskey_ttl;
+ unsigned int cds_digesttype;
/* Configuration: Denial of existence */
bool nsec3;
*\li 'kasp' is a valid, thawed kasp.
*/
+unsigned int
+dns_kasp_cdsdigesttype(dns_kasp_t *kasp);
+/*%<
+ * Get CDS digest-type.
+ *
+ * Requires:
+ *
+ *\li 'kasp' is a valid, frozen kasp.
+ *
+ * Returns:
+ *
+ *\li CDS digest-type.
+ */
+
+void
+dns_kasp_setcdsdigesttype(dns_kasp_t *kasp, unsigned int digesttype);
+/*%<
+ * Set CDS digest-type.
+ * If 'digesttype' is not supported, this will not change the digest-type.
+ *
+ * Requires:
+ *
+ *\li 'kasp' is a valid, thawed kasp.
+ */
+
uint32_t
dns_kasp_purgekeys(dns_kasp_t *kasp);
/*%<
#include <dns/keyvalues.h>
#include <dns/log.h>
+#include <dst/dst.h>
+
isc_result_t
dns_kasp_create(isc_mem_t *mctx, const char *name, dns_kasp_t **kaspp) {
dns_kasp_t *kasp;
kasp->dnskey_ttl = ttl;
}
+unsigned int
+dns_kasp_cdsdigesttype(dns_kasp_t *kasp) {
+ REQUIRE(DNS_KASP_VALID(kasp));
+ REQUIRE(kasp->frozen);
+
+ return (kasp->cds_digesttype);
+}
+
+void
+dns_kasp_setcdsdigesttype(dns_kasp_t *kasp, unsigned int digesttype) {
+ REQUIRE(DNS_KASP_VALID(kasp));
+ REQUIRE(!kasp->frozen);
+
+ if (dst_ds_digest_supported(digesttype)) {
+ kasp->cds_digesttype = digesttype;
+ }
+}
+
uint32_t
dns_kasp_purgekeys(dns_kasp_t *kasp) {
REQUIRE(DNS_KASP_VALID(kasp));