diff options
author | Bodo Möller <bodo@openssl.org> | 2002-07-14 16:54:31 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2002-07-14 16:54:31 +0000 |
commit | 5dbd3efce784cb5621de8402430eda23d1762568 (patch) | |
tree | b9fec0675747eaab2d8a5539d3def0c16aabad3d /crypto/ec | |
parent | 876811e2af12fe7f5b05104ad2187516cff2aee2 (diff) |
Replace 'ecdsaparam' commandline utility by 'ecparam'
(the same keys can be used for ECC schemes other than ECDSA)
and add some new options.
Similarly, use string "EC PARAMETERS" instead of "ECDSA PARAMETERS"
in 'PEM' format.
Fix ec_asn1.c (take into account the desired conversion form).
'make update'.
Submitted by: Nils Larsch
Diffstat (limited to 'crypto/ec')
-rw-r--r-- | crypto/ec/ec.h | 8 | ||||
-rw-r--r-- | crypto/ec/ec_asn1.c | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/crypto/ec/ec.h b/crypto/ec/ec.h index 85883e2ffd..e17fc20dd4 100644 --- a/crypto/ec/ec.h +++ b/crypto/ec/ec.h @@ -259,6 +259,14 @@ int i2d_ECParameters(const EC_GROUP *, unsigned char **out); EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); +#define d2i_ECPKParameters_bio(bp,x) (EC_GROUP *)ASN1_d2i_bio(NULL, \ + (char *(*)())d2i_ECPKParameters,(bp),(unsigned char **)(x)) +#define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio(i2d_ECPKParameters,(bp), \ + (unsigned char *)(x)) +#define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +#define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) #ifndef OPENSSL_NO_BIO int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index 5a97e9f70a..009896b558 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -700,6 +700,11 @@ static EC_GROUP *ec_asn1_parameters2group(const ECPARAMETERS *params) ECerr(EC_F_EC_ASN1_PARAMETERS2GROUP, ERR_R_EC_LIB); goto err; } + + /* set the point conversion form */ + EC_GROUP_set_point_conversion_form(ret, (point_conversion_form_t) + (params->base->data[0] & ~0x01)); + if (!EC_GROUP_set_generator(ret, point, a, b)) { ECerr(EC_F_EC_ASN1_PARAMETERS2GROUP, ERR_R_EC_LIB); |