X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=apps%2Fec.c;h=896eabc13fba53a1f0e677f8b3952fe9ab7abe33;hp=79d0df9865d4e23aa6b3be88bbfcb294c4838f9e;hb=241c8004ce919729195d3038a653cdb0c8ba25d0;hpb=d4a8f90cabb74cbc2d5eaa463f4e7f2a81f50db1 diff --git a/apps/ec.c b/apps/ec.c index 79d0df9865..896eabc13f 100644 --- a/apps/ec.c +++ b/apps/ec.c @@ -3,7 +3,7 @@ * Written by Nils Larsch for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -56,6 +56,7 @@ * */ +#include #ifndef OPENSSL_NO_EC #include #include @@ -84,9 +85,9 @@ int MAIN(int, char **); int MAIN(int argc, char **argv) { - ENGINE *e = NULL; int ret = 1; EC_KEY *eckey = NULL; + const EC_GROUP *group; int i, badops = 0; const EVP_CIPHER *enc = NULL; BIO *in = NULL, *out = NULL; @@ -230,9 +231,9 @@ bad: "curve parameters\n"); BIO_printf(bio_err, " -conv_form arg specifies the " "point conversion form \n"); - BIO_printf(bio_err, " possible values :" + BIO_printf(bio_err, " possible values:" " compressed\n"); - BIO_printf(bio_err, " " + BIO_printf(bio_err, " " " uncompressed (default)\n"); BIO_printf(bio_err, " " " hybrid\n"); @@ -240,16 +241,18 @@ bad: " the ec parameters are encoded\n"); BIO_printf(bio_err, " in the asn1 der " "encoding\n"); - BIO_printf(bio_err, " possilbe values :" + BIO_printf(bio_err, " possible values:" " named_curve (default)\n"); - BIO_printf(bio_err," " + BIO_printf(bio_err," " "explicit\n"); goto end; } ERR_load_crypto_strings(); - e = setup_engine(bio_err, engine, 0); +#ifndef OPENSSL_NO_ENGINE + setup_engine(bio_err, engine, 0); +#endif if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) { @@ -324,14 +327,13 @@ bad: } } + group = EC_KEY_get0_group(eckey); + if (new_form) - { - EC_GROUP_set_point_conversion_form(eckey->group, form); - eckey->conv_form = form; - } + EC_KEY_set_conv_form(eckey, form); if (new_asn1_flag) - EC_GROUP_set_asn1_flag(eckey->group, asn1_flag); + EC_KEY_set_asn1_flag(eckey, asn1_flag); if (text) if (!EC_KEY_print(out, eckey, 0)) @@ -342,13 +344,16 @@ bad: } if (noout) + { + ret = 0; goto end; + } BIO_printf(bio_err, "writing EC key\n"); if (outformat == FORMAT_ASN1) { if (param_out) - i = i2d_ECPKParameters_bio(out, eckey->group); + i = i2d_ECPKParameters_bio(out, group); else if (pubin || pubout) i = i2d_EC_PUBKEY_bio(out, eckey); else @@ -357,7 +362,7 @@ bad: else if (outformat == FORMAT_PEM) { if (param_out) - i = PEM_write_bio_ECPKParameters(out, eckey->group); + i = PEM_write_bio_ECPKParameters(out, group); else if (pubin || pubout) i = PEM_write_bio_EC_PUBKEY(out, eckey); else @@ -390,6 +395,12 @@ end: if (passout) OPENSSL_free(passout); apps_shutdown(); - EXIT(ret); + OPENSSL_EXIT(ret); } +#else /* !OPENSSL_NO_EC */ + +# if PEDANTIC +static void *dummy=&dummy; +# endif + #endif