X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=blobdiff_plain;f=benchmark%2Fsign.c;h=d9b08bb725890a35d4ac1aa2d879177eecc3c905;hb=HEAD;hp=2d1d7866480a16e0418ef31d70285d95260e03fc;hpb=6087586263eb1351a5fa370b233b8d747d0e1f59;p=openssl-gost%2Fengine.git diff --git a/benchmark/sign.c b/benchmark/sign.c index 2d1d786..d9b08bb 100644 --- a/benchmark/sign.c +++ b/benchmark/sign.c @@ -23,9 +23,14 @@ const char *tests[] = { "md_gost12_256", "gost2012_256", "A", "md_gost12_256", "gost2012_256", "B", "md_gost12_256", "gost2012_256", "C", + "md_gost12_256", "gost2012_256", "TCA", + "md_gost12_256", "gost2012_256", "TCB", + "md_gost12_256", "gost2012_256", "TCC", + "md_gost12_256", "gost2012_256", "TCD", "md_gost12_512", "gost2012_512", "A", "md_gost12_512", "gost2012_512", "B", + "md_gost12_512", "gost2012_512", "C", NULL, }; @@ -35,27 +40,24 @@ static EVP_PKEY *create_key(const char *algname, const char *param) EVP_PKEY *key1 = EVP_PKEY_new(), *newkey = NULL; EVP_PKEY_CTX *ctx = NULL; - if(EVP_PKEY_set_type_str(key1, algname, strlen(algname)) <= 0) - { - goto err; - } - if(!(ctx = EVP_PKEY_CTX_new(key1, NULL))) - { - goto err; - } - EVP_PKEY_keygen_init(ctx); - if(ERR_peek_last_error()) - { - goto err; - } - if(EVP_PKEY_CTX_ctrl_str(ctx, "paramset", param) <= 0) - { - goto err; - } - if(EVP_PKEY_keygen(ctx, &newkey) <= 0) - { - goto err; - } + if (EVP_PKEY_set_type_str(key1, algname, strlen(algname)) <= 0) + goto err; + + if (!(ctx = EVP_PKEY_CTX_new(key1, NULL))) + goto err; + + if (EVP_PKEY_keygen_init(ctx) == 0) + goto err; + + if (ERR_peek_last_error()) + goto err; + + if (EVP_PKEY_CTX_ctrl_str(ctx, "paramset", param) <= 0) + goto err; + + if (EVP_PKEY_keygen(ctx, &newkey) <= 0) + goto err; + err: if(ctx) EVP_PKEY_CTX_free(ctx); @@ -80,8 +82,6 @@ int main(int argc, char **argv) opterr = 0; while((option = getopt(argc, argv, "l:c:C")) >= 0) { - if(option == ':') option = optopt; - if(optarg && (optarg[0] == '-')) { optind--; optarg = NULL; } switch (option) { case 'l': @@ -148,8 +148,8 @@ int main(int argc, char **argv) if (pass == 0) { /* sign */ for (i = 0; i < cycles; i++) { EVP_SignInit(md_ctx, mdtype); - EVP_SignUpdate(md_ctx, data, data_len); - err = EVP_SignFinal(md_ctx, &sigbuf[siglen * i], + err = EVP_SignUpdate(md_ctx, data, data_len) + && EVP_SignFinal(md_ctx, &sigbuf[siglen * i], (unsigned int *)&siglen, pkey); if (err != 1) printf("!"); @@ -158,8 +158,8 @@ int main(int argc, char **argv) } else { /* verify */ for (i = 0; i < cycles; i++) { EVP_VerifyInit(md_ctx, mdtype); - EVP_VerifyUpdate(md_ctx, data, data_len); - err = EVP_VerifyFinal(md_ctx, &sigbuf[siglen * i], + err = EVP_VerifyUpdate(md_ctx, data, data_len) + && EVP_VerifyFinal(md_ctx, &sigbuf[siglen * i], siglen, pkey); EVP_MD_CTX_reset(md_ctx); if (err != 1)