bool valid;
ldns_status verify_result = LDNS_STATUS_ERR;
+printf("yo1\n");
if (!rrset || !rrsig || !keys) {
return LDNS_STATUS_ERR;
}
valid = false;
-printf("Verify sig rr:\n");
-ldns_rr_list_print(stdout, rrsig);
-
- for (i = 0; i < ldns_rr_list_rr_count(rrsig); i++) {
+printf("yo2\n");
+ if (ldns_rr_list_rr_count(keys) < 1) {
+printf("yo3\n");
+ verify_result = LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY;
+ } else {
+printf("yo4\n");
+ for (i = 0; i < ldns_rr_list_rr_count(rrsig); i++) {
- verify_result = ldns_verify_rrsig_keylist(rrset,
- ldns_rr_list_rr(rrsig, i),
- keys,
- good_keys);
+ verify_result = ldns_verify_rrsig_keylist(rrset,
+ ldns_rr_list_rr(rrsig, i),
+ keys,
+ good_keys);
+ }
}
return verify_result;
}
return LDNS_STATUS_ERR;
}
-printf("signature to verify:\n");
-ldns_rr_print(stdout, rrsig);
-
/* check the signature time stamps */
inception = ldns_rdf2native_time_t(ldns_rr_rrsig_inception(rrsig));
expiration = ldns_rdf2native_time_t(ldns_rr_rrsig_expiration(rrsig));
(void) BN_bin2bn((unsigned char*)ldns_buffer_at(sig, 1), SHA_DIGEST_LENGTH, R);
S = BN_new();
(void) BN_bin2bn((unsigned char*)ldns_buffer_at(sig, 21), SHA_DIGEST_LENGTH, S);
-printf("VERIFY:\n");
-printf("R: ");
-BN_print_fp(stdout, R);
-printf("\nS: ");
-BN_print_fp(stdout, S);
-printf("\n");
dsasig = DSA_SIG_new();
if (!dsasig) {
sigdata_rdf = ldns_rdf_new_frm_data(LDNS_RDF_TYPE_B64, 1 + 2 * SHA_DIGEST_LENGTH, data);
-printf("Signing: \n");
-printf("R: ");
-BN_print_fp(stdout, sig->r);
-printf("\nS: ");
-BN_print_fp(stdout, sig->s);
-printf("\n\rdf: ");
-ldns_rdf_print(stdout, sigdata_rdf);
-printf("\n");
-
ldns_buffer_free(b64sig);
LDNS_FREE(data);