res->size = gnutls_hash_get_len(gtalg);
if (res->size == 0 || gnutls_hash_init(&res->gtctx, gtalg) < 0) {
free(res);
- return DNSSEC_DIGEST_ERROR;
+ return KNOT_ECRYPTO;
}
*out_ctx = res;
int r = gnutls_hash(ctx->gtctx, data->data, data->size);
if (r != 0) {
digest_ctx_free(ctx);
- return DNSSEC_DIGEST_ERROR;
+ return KNOT_ECRYPTO;
}
return KNOT_EOK;
}
{ DNSSEC_INVALID_SIGNATURE, "invalid signature" },
{ DNSSEC_INVALID_NSEC3_ALGORITHM, "invalid NSEC3 algorithm" },
- { DNSSEC_NSEC3_HASHING_ERROR, "NSEC3 hashing error" },
+ { KNOT_ECRYPTO, "NSEC3 hashing error" },
{ DNSSEC_INVALID_DS_ALGORITHM, "invalid DS algorithm" },
- { DNSSEC_DS_HASHING_ERROR, "DS hashing error" },
+ { KNOT_ECRYPTO, "DS hashing error" },
{ DNSSEC_KEYSTORE_INVALID_CONFIG, "invalid KASP keystore configuration" },
{ DNSSEC_P11_TOKEN_NOT_AVAILABLE, "PKCS #11 token not available" },
{ DNSSEC_INVALID_DIGEST_ALGORITHM, "invalid digest algorithm" },
- { DNSSEC_DIGEST_ERROR, "digest error" },
+ { KNOT_ECRYPTO, "digest error" },
{ 0 }
};
DNSSEC_INVALID_SIGNATURE,
KNOT_EALGORITHM,
- DNSSEC_NSEC3_HASHING_ERROR,
+ KNOT_ECRYPTO,
KNOT_EALGORITHM,
- DNSSEC_DS_HASHING_ERROR,
+ KNOT_ECRYPTO,
DNSSEC_KEYSTORE_INVALID_CONFIG,
DNSSEC_P11_TOKEN_NOT_AVAILABLE,
KNOT_EALGORITHM,
- DNSSEC_DIGEST_ERROR,
+ KNOT_ECRYPTO,
DNSSEC_ERROR_MAX = -1001
};
_cleanup_hash_ gnutls_hash_hd_t digest = NULL;
int r = gnutls_hash_init(&digest, algorithm);
if (r < 0) {
- return DNSSEC_DS_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
if (gnutls_hash(digest, key->dname, knot_dname_size(key->dname)) != 0 ||
gnutls_hash(digest, key->rdata.data, key->rdata.size) != 0
) {
- return DNSSEC_DS_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
// build DS RDATA
int digest_size = gnutls_hash_get_len(algorithm);
if (digest_size == 0) {
- return DNSSEC_DS_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
dnssec_binary_t rdata = { 0 };
int hash_size = gnutls_hash_get_len(algorithm);
if (hash_size <= 0) {
- return DNSSEC_NSEC3_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
int result = dnssec_binary_resize(hash, hash_size);
_cleanup_hash_ gnutls_hash_hd_t digest = NULL;
result = gnutls_hash_init(&digest, algorithm);
if (result < 0) {
- return DNSSEC_NSEC3_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
const uint8_t *in = data->data;
for (int i = 0; i <= iterations; i++) {
result = gnutls_hash(digest, in, in_size);
if (result < 0) {
- return DNSSEC_NSEC3_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
result = gnutls_hash(digest, salt->data, salt->size);
if (result < 0) {
- return DNSSEC_NSEC3_HASHING_ERROR;
+ return KNOT_ECRYPTO;
}
gnutls_hash_output(digest, hash->data);