- data.c/data.h - dname.c
- packet.c (partially)
o conversion from ldns_key to key rr's
+o init function? random - load_ssl_errors()
Documentation:
--------------
(void)ldns_rr_rrsig_set_labels(current_sig,
ldns_native2rdf_int8(LDNS_RDF_TYPE_INT8, ldns_rr_label_count(
ldns_rr_list_rr(rrset_clone, 0))));
+ printf("label cnt %d\n",
+ ldns_rr_label_count(ldns_rr_list_rr(rrset_clone, 0)));
+
/* inception, expiration */
(void)ldns_rr_rrsig_set_inception(current_sig,
ldns_native2rdf_int32(LDNS_RDF_TYPE_INT32, ldns_key_inception(current_key)));
#include <openssl/ssl.h>
#include <util.h>
+#include <ldns/dnssec.h>
#include <ldns/keys.h>
-
-
ldns_lookup_table ldns_signing_algorithms[] = {
{ LDNS_SIGN_RSAMD5, "RSAMD5" },
{ LDNS_SIGN_RSASHA1, "RSASHA1" },
#ifndef _DNSSEC_H_
#define _DNSSEC_H_
+#include <openssl/ssl.h>
#include <ldns/common.h>
#include <ldns/dns.h>
#include <ldns/buffer.h>
#include <ldns/packet.h>
-#include <openssl/ssl.h>
+#include <ldns/keys.h>
#define MAX_KEYLEN 2048
#define DNSSEC_KEYPROTO 3
+#if 0
/**
* algorigthms used in dns
*/
LDNS_PRIVATEOID = 254
};
typedef enum ldns_enum_algorithm ldns_algorithm;
+#endif
/**
* Calculates a keytag of a key for use in DNSSEC
*/
ldns_rr *ldns_key_rr2ds(const ldns_rr *key);
-ldns_rr_list *ldns_sign(ldns_rr_list*, ldns_rr_list*);
-
+ldns_rr_list * ldns_sign_public(ldns_rr_list *rrset, ldns_key_list *keys);
ldns_rdf *ldns_sign_public_dsa(ldns_buffer *to_sign, DSA *key);
ldns_rdf *ldns_sign_public_rsamd5(ldns_buffer *to_sign, RSA *key);
ldns_rdf *ldns_sign_public_rsasha1(ldns_buffer *to_sign, RSA *key);
extern ldns_lookup_table ldns_signing_algorithms[];
+/**
+ * algorigthms used in dns
+ */
+enum ldns_enum_algorithm
+{
+ LDNS_RSAMD5 = 1,
+ LDNS_DH = 2,
+ LDNS_DSA = 3,
+ LDNS_ECC = 4,
+ LDNS_RSASHA1 = 5,
+ LDNS_INDIRECT = 252,
+ LDNS_PRIVATEDNS = 253,
+ LDNS_PRIVATEOID = 254
+};
+typedef enum ldns_enum_algorithm ldns_algorithm;
+
enum ldns_enum_signing_algorithm
{
LDNS_SIGN_RSAMD5 = LDNS_RSAMD5,
#include <config.h>
-#include <ldns/rdata.h>
-#include <ldns/error.h>
-#include <ldns/resolver.h>
-#include <ldns/buffer.h>
-#include <ldns/wire2host.h>
-#include <ldns/host2wire.h>
-#include <ldns/host2str.h>
-#include <ldns/resolver.h>
-#include <ldns/net.h>
+#include <ldns/ldns.h>
+
#include <netinet/in.h>
#include <sys/socket.h>
#include <netdb.h>
#include <config.h>
#include <stdio.h>
-#include <ldns/rdata.h>
-#include <ldns/error.h>
-#include <ldns/resolver.h>
-#include <ldns/rdata.h>
-#include <ldns/net.h>
-#include <ldns/host2str.h>
-#include <ldns/dns.h>
-#include <ldns/dname.h>
+#include <ldns/ldns.h>
#include <strings.h>
ldns_key_set_origttl(privkey, 1800);
ldns_key_set_origttl(privkey_dsa, 1800);
- SSL_load_error_strings();
+ /* SSL_load_error_strings();*/
ldns_key_list_push_key(keys, privkey);
ldns_key_list_push_key(keys, privkey_dsa);
exit(1);
}
ldns_rr_list_push_rr(dnskeys, dnskey);
- ldns_rr_list_push_rr(dnskeys, dnskey_dsa);
+ /* only rsa for now */
+/* ldns_rr_list_push_rr(dnskeys, dnskey_dsa); */
signatures = ldns_sign_public(rrs, keys);
- printf("\n");
ldns_rr_list_print(stdout, signatures);
printf("Now we are going to verify\n");
- ldns_rdf_print(stdout, ldns_rr_rdf(
- ldns_rr_list_rr(signatures, 0),
- 8));
- printf("\n");
printf("\n[%d]\n", ldns_verify(rrs, signatures, dnskeys));