]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
dsa is also a bit of a mess :(
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 24 Mar 2005 12:46:38 +0000 (12:46 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 24 Mar 2005 12:46:38 +0000 (12:46 +0000)
dnssec.c
run-test18.c

index 4e9bf69bb48caa898c51d2e3ea44a6f0820784cc..2e87fb294f3db337fefc567ba11d63aedba21c02 100644 (file)
--- a/dnssec.c
+++ b/dnssec.c
@@ -342,6 +342,11 @@ ldns_key_buf2dsa(ldns_buffer *key)
        dsa->q = Q;
        dsa->g = G;
        dsa->pub_key = Y;
+
+       printf("my key\n");
+       DSA_print_fp(stdout, dsa, 0);
+       printf("\n");
+       
        return dsa;
 }
 
index 0c289119775b3e6288af498cc012703b65404f01..e73d389beed8efd09420fea2cf256f453fcf5175 100644 (file)
@@ -19,6 +19,8 @@ main(int argc, char *argv[])
 {
        ldns_rr *dnskey;
        ldns_key *privkey;
+       ldns_rr *dnskey_dsa;
+       ldns_key *privkey_dsa;
        ldns_rdf *owner;
        ldns_rr *rr;
        ldns_key_list *keys;
@@ -35,28 +37,47 @@ main(int argc, char *argv[])
        printf("\n");
 
        privkey = ldns_key_new_frm_algorithm(LDNS_SIGN_RSASHA1, 1024);
-       if (!privkey) {
+       privkey_dsa = ldns_key_new_frm_algorithm(LDNS_SIGN_DSA, 1024);
+       if (!privkey || !privkey_dsa) {
                printf("Ah, keygen failed");
                exit(1);
        }
 
        owner = ldns_dname_new_frm_str("miek.nl");
        ldns_key_set_pubkey_owner(privkey, owner);
+       ldns_key_set_pubkey_owner(privkey_dsa, owner);
+
        ldns_key_set_origttl(privkey, 1800);
+       ldns_key_set_origttl(privkey_dsa, 1800);
        SSL_load_error_strings();
 
        ldns_key_list_push_key(keys, privkey);
+       ldns_key_list_push_key(keys, privkey_dsa);
+
        ldns_rr_list_push_rr(rrs, rr);
        
        dnskey = ldns_key2rr(privkey);
+       dnskey_dsa = ldns_key2rr(privkey_dsa);
        if (dnskey) {
                ldns_rr_print(stdout, dnskey);
                printf("; {%d}\n", 
                                ldns_calc_keytag(dnskey));
                printf("\n");
                ldns_key_set_keytag(privkey, ldns_calc_keytag(dnskey));
+       } else {
+               exit(1);
+       }
+       if (dnskey_dsa) {
+               ldns_rr_print(stdout, dnskey_dsa);
+               printf("; {%d}\n", 
+                               ldns_calc_keytag(dnskey_dsa));
+               printf("\n");
+               ldns_key_set_keytag(privkey_dsa, ldns_calc_keytag(dnskey_dsa));
+       } else {
+               exit(1);
        }
        ldns_rr_list_push_rr(dnskeys, dnskey);
+       ldns_rr_list_push_rr(dnskeys, dnskey_dsa);
 
        signatures = ldns_sign_public(rrs, keys);
                printf("\n");