sig_algo = ldns_rdf2native_int8(ldns_rr_rdf(rrsig, 1));
result = false;
- printf("trying to verify I\n");
-
/* create a buffer with b64 signature rdata */
- ldns_rdf_print(stdout, ldns_rr_rdf(rrsig, 8));
- printf("was sig data\n");
if (ldns_rdf2buffer_wire(rawsig_buf,
ldns_rr_rdf(rrsig, 8)) != LDNS_STATUS_OK) {
ldns_buffer_free(rawsig_buf);
ldns_rr_list_rr(rrset, i),
orig_ttl);
}
- ldns_rr_list_print(stdout, rrset);
/* sort the rrset in canonical order */
ldns_rr_list_sort(rrset);
return false;
}
- printf("trying to verify II\n");
-
for(i = 0; i < ldns_rr_list_rr_count(keys); i++) {
current_key = ldns_rr_list_rr(keys, i);
- ldns_rr_print(stdout, current_key);
- printf("\n");
key_buf = ldns_buffer_new(MAX_PACKETLEN);
/* put the key-data in a buffer, that's the third rdf, with
* the base64 encoded key data */
RSA *rsakey;
unsigned char *sha1_hash;
- printf("trying to verify III\n");
-
rsakey = ldns_key_buf2rsa(key);
if (!rsakey) {
return false;
}
- BN_print_fp(stdout, rsakey->n); printf("\n->n\n");
- BN_print_fp(stdout, rsakey->e); printf("\n->e\n");
- printf("trying to verify IV\n");
- printf("size %d\n", ldns_buffer_position(rrset) );
- printf("size %x\n", ldns_buffer_begin(rrset) );
+
sha1_hash = SHA1(ldns_buffer_begin(rrset), ldns_buffer_position(rrset), NULL);
if (!sha1_hash) {
return false;
}
- printf("trying to verify V\n");
if (RSA_verify(NID_sha1, sha1_hash, SHA_DIGEST_LENGTH, ldns_buffer_begin(sig),
ldns_buffer_position(sig), rsakey) == 1) {
return LDNS_STATUS_ERR;
}
-#if 0
- if (ldns_rr_owner(rr)) {
- (void) ldns_dname2buffer_wire(buffer, ldns_rr_owner(rr));
- }
-
- if (ldns_buffer_reserve(buffer, 4)) {
- (void) ldns_buffer_write_u16(buffer, ldns_rr_get_type(rr));
- (void) ldns_buffer_write_u16(buffer, ldns_rr_get_class(rr));
- }
-
- if (ldns_buffer_reserve(buffer, 6)) {
- ldns_buffer_write_u32(buffer, ldns_rr_ttl(rr));
- /* remember pos for later */
- rdl_pos = ldns_buffer_position(buffer);
- ldns_buffer_write_u16(buffer, 0);
- }
-#endif
-
- /* now convert all the rdfs, except the actual signature data
+ /* Convert all the rdfs, except the actual signature data
* rdf number 8 - the last, hence: -1 */
for (i = 0; i < ldns_rr_rd_count(rr) - 1; i++) {
(void) ldns_rdf2buffer_wire(buffer, ldns_rr_rdf(rr, i));
}
-#if 0
- if (rdl_pos != 0) {
- ldns_buffer_write_u16_at(buffer,
- rdl_pos,
- ldns_buffer_position(buffer)
- - rdl_pos
- - 2
- );
- }
-#endif
return ldns_buffer_status(buffer);
}