move ECC ASN1 that is not specific to ECDSA into crypto/ec/,
and make some appropriate changes to the EC library.
Submitted by: Nils Larsch
diff --git a/crypto/ec/ec_lcl.h b/crypto/ec/ec_lcl.h
index 79655e3..b9f6fcb 100644
--- a/crypto/ec/ec_lcl.h
+++ b/crypto/ec/ec_lcl.h
@@ -56,6 +56,7 @@
#include <stdlib.h>
+#include <openssl/obj_mac.h>
#include <openssl/ec.h>
@@ -63,6 +64,9 @@
* so all this may change in future versions. */
struct ec_method_st {
+ /* used by EC_METHOD_get_field_type: */
+ int field_type; /* a NID */
+
/* used by EC_GROUP_new, EC_GROUP_free, EC_GROUP_clear_free, EC_GROUP_copy: */
int (*group_init)(EC_GROUP *);
void (*group_finish)(EC_GROUP *);
@@ -140,13 +144,17 @@
EC_POINT *generator; /* optional */
BIGNUM order, cofactor;
- int nid; /* optional NID for named curve */
+ int nid; /* optional NID for named curve */
+ int asn1_flag; /* flag to control the asn1 encoding */
void *extra_data;
void *(*extra_data_dup_func)(void *);
void (*extra_data_free_func)(void *);
void (*extra_data_clear_free_func)(void *);
+ unsigned char *seed; /* XXX */
+ size_t seed_len; /* XXX */
+
/* The following members are handled by the method functions,
* even if they appear generic */