'version' is not optional in the encoding
[openssl.git] / crypto / ecdsa / ecdsatest.c
index ff9338c..cffc194 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <time.h>
-#include <openssl/crypto.h>
-#include <openssl/bio.h>
-#include <openssl/evp.h>
-#include <openssl/x509.h>
-#include <openssl/ecdsa.h>
-#include <openssl/engine.h>
-#include <openssl/err.h>
 
 #ifdef CLOCKS_PER_SEC
        /* "To determine the time in seconds, the value returned
 int main(int argc, char * argv[]) { puts("Elliptic curves are disabled."); return 0; }
 #else
 
+#include <openssl/crypto.h>
+#include <openssl/bio.h>
+#include <openssl/evp.h>
+#include <openssl/x509.h>
+#include <openssl/ecdsa.h>
+#include <openssl/engine.h>
+#include <openssl/err.h>
+
 static BIO *bio_err=NULL;
 static const char rnd_seed[] = "string to make the random number generator think it has entropy";
 
@@ -180,7 +181,7 @@ int test_sig_vrf(ECDSA *ecdsa, const unsigned char* dgst)
         int       ret=0,type=0;
         unsigned char *buffer=NULL;
         unsigned int  buf_len;
-        clock_t  time;
+        clock_t  tim;
  
         if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key)
                 return 0;
@@ -192,24 +193,24 @@ int test_sig_vrf(ECDSA *ecdsa, const unsigned char* dgst)
         if ((buffer = OPENSSL_malloc(buf_len)) == NULL)
                 goto err;
  
-        time = clock();
+        tim = clock();
         if (!ECDSA_sign(type, dgst , 20, buffer, &buf_len, ecdsa))
         {
                 BIO_printf(bio_err, "ECDSA_sign() FAILED \n");
                 goto err;
         }
-        time = clock() - time;
-        BIO_printf(bio_err, " [ ECDSA_sign() %.2f"UNIT, (double)time/(CLOCKS_PER_SEC));
+        tim = clock() - tim;
+        BIO_printf(bio_err, " [ ECDSA_sign() %.2f"UNIT, (double)tim/(CLOCKS_PER_SEC));
  
-        time = clock();
+        tim = clock();
         ret = ECDSA_verify(type, dgst, 20, buffer, buf_len, ecdsa);
         if (ret != 1)
         {
                 BIO_printf(bio_err, "ECDSA_verify() FAILED \n");
                 goto err;
         }
-        time = clock() - time;
-        BIO_printf(bio_err, " and ECDSA_verify() %.2f"UNIT" ] ", (double)time/(CLOCKS_PER_SEC));
+        tim = clock() - tim;
+        BIO_printf(bio_err, " and ECDSA_verify() %.2f"UNIT" ] ", (double)tim/(CLOCKS_PER_SEC));
  
 err:    OPENSSL_free(buffer);
         return(ret == 1);
@@ -323,11 +324,11 @@ int main(void)
        int             dgst_len=0;
        unsigned char   *dgst=NULL;
        int             ret = 0, i=0;
-       clock_t         time;
+       clock_t         tim;
        unsigned char   *buffer=NULL;
        unsigned char   *pp;
        long            buf_len=0;
-       double          time_d;
+       double          tim_d;
        EVP_MD_CTX      *md_ctx=NULL;
        
        /* enable memory leak checking unless explicitly disabled */
@@ -389,23 +390,6 @@ int main(void)
        OPENSSL_free(buffer);
        buffer = NULL;
 
-       /* i2d_ - d2i_ECDSAPublicKey() */
-
-       BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAPublicKey \n");
-       buf_len = i2d_ECDSAPublicKey(ecdsa, NULL);
-       if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err;
-       pp = buffer;
-       if (!i2d_ECDSAPublicKey(ecdsa, &pp)) goto err;
-       pp = buffer;
-       if ((ret_ecdsa = d2i_ECDSAPublicKey(&ret_ecdsa , (const unsigned char**)&pp, 
-                       buf_len)) == NULL) goto err;
-       ECDSA_print(bio_err, ret_ecdsa, 0);
-       if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err;
-       OPENSSL_free(buffer);
-       buffer = NULL;
-       ECDSA_free(ret_ecdsa);
-       ret_ecdsa = NULL;       
-       
        /* X509_PUBKEY_set() &  X509_PUBKEY_get() */    
 
        BIO_printf(bio_err, "\nTesting X509_PUBKEY_{get,set}            : ");
@@ -542,20 +526,20 @@ int main(void)
        if ((ecdsa = ECDSA_new()) == NULL) goto err;
        if ((ecdsa->group = EC_GROUP_new_by_name(EC_GROUP_NIST_PRIME_192)) == NULL) goto err;
        if (!ECDSA_generate_key(ecdsa)) goto err;
-        time = clock();
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
-        time = clock() - time;
-       time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+       tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
-               , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
-       time = clock();
+               , ECDSA_NIST_TESTS, tim_d, tim_d / ECDSA_NIST_TESTS);
+       tim = clock();
        for (i=0; i<ECDSA_NIST_TESTS; i++)
                if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
-       time = clock() - time;
-       time_d = (double)time / CLOCKS_PER_SEC;
+       tim = clock() - tim;
+       tim_d = (double)tim / CLOCKS_PER_SEC;
        BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+                , ECDSA_NIST_TESTS, tim_d, tim_d/ECDSA_NIST_TESTS);
        for (i=0; i<ECDSA_NIST_TESTS; i++)
        {
                ECDSA_SIG_free(signatures[i]);
@@ -568,20 +552,20 @@ int main(void)
         if ((ecdsa = ECDSA_new()) == NULL) goto err;
         if ((ecdsa->group = EC_GROUP_new_by_name(EC_GROUP_NIST_PRIME_224)) == NULL) goto err;
         if (!ECDSA_generate_key(ecdsa)) goto err;
-        time = clock();
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
-        time = clock();
+                , ECDSA_NIST_TESTS, tim_d, tim_d / ECDSA_NIST_TESTS);
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+                , ECDSA_NIST_TESTS, tim_d, tim_d/ECDSA_NIST_TESTS);
        for (i=0; i<ECDSA_NIST_TESTS; i++)
        {
                ECDSA_SIG_free(signatures[i]);
@@ -594,20 +578,20 @@ int main(void)
         if ((ecdsa = ECDSA_new()) == NULL) goto err;
         if ((ecdsa->group = EC_GROUP_new_by_name(EC_GROUP_NIST_PRIME_256)) == NULL) goto err;
         if (!ECDSA_generate_key(ecdsa)) goto err;
-        time = clock();
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
-        time = clock();
+                , ECDSA_NIST_TESTS, tim_d, tim_d / ECDSA_NIST_TESTS);
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+                , ECDSA_NIST_TESTS, tim_d, tim_d/ECDSA_NIST_TESTS);
        for (i=0; i<ECDSA_NIST_TESTS; i++)
        {
                ECDSA_SIG_free(signatures[i]);
@@ -620,20 +604,20 @@ int main(void)
         if ((ecdsa = ECDSA_new()) == NULL) goto err;
         if ((ecdsa->group = EC_GROUP_new_by_name(EC_GROUP_NIST_PRIME_384)) == NULL) goto err;
         if (!ECDSA_generate_key(ecdsa)) goto err;
-        time = clock();
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
-        time = clock();
+                , ECDSA_NIST_TESTS, tim_d, tim_d / ECDSA_NIST_TESTS);
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+                , ECDSA_NIST_TESTS, tim_d, tim_d/ECDSA_NIST_TESTS);
        for (i=0; i<ECDSA_NIST_TESTS; i++)
        {
                ECDSA_SIG_free(signatures[i]);
@@ -646,20 +630,20 @@ int main(void)
         if ((ecdsa = ECDSA_new()) == NULL) goto err;
         if ((ecdsa->group = EC_GROUP_new_by_name(EC_GROUP_NIST_PRIME_521)) == NULL) goto err;
         if (!ECDSA_generate_key(ecdsa)) goto err;
-        time = clock();
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
-        time = clock();
+                , ECDSA_NIST_TESTS, tim_d, tim_d / ECDSA_NIST_TESTS);
+        tim = clock();
         for (i=0; i<ECDSA_NIST_TESTS; i++)
                 if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
-        time = clock() - time;
-        time_d = (double)time / CLOCKS_PER_SEC;
+        tim = clock() - tim;
+        tim_d = (double)tim / CLOCKS_PER_SEC;
         BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
-                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+                , ECDSA_NIST_TESTS, tim_d, tim_d/ECDSA_NIST_TESTS);
        ECDSA_free(ecdsa);
        ecdsa = NULL;
        for (i=0; i<ECDSA_NIST_TESTS; i++)