]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
For some reason, we need to return the full path to perl
[thirdparty/openssl.git] / CHANGES
CommitLineData
81a6c781 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
4d94ae00
BM
5 Changes between 0.9.7 and 0.9.8 [xx XXX 2002]
6
254ef80d
BM
7 *) Add 'asn1_flag' and 'asn1_form' member to EC_GROUP with access
8 functions
9 EC_GROUP_set_asn1_flag()
10 EC_GROUP_get_asn1_flag()
11 EC_GROUP_set_point_conversion_form()
12 EC_GROUP_get_point_conversion_form()
13 These control ASN1 encoding details:
b8e0e123
BM
14 - Curves (i.e., groups) are encoded explicitly unless asn1_flag
15 has been set to OPENSSL_EC_NAMED_CURVE.
5f3d6f70 16 - Points are encoded in uncompressed form by default; options for
254ef80d
BM
17 asn1_for are as for point2oct, namely
18 POINT_CONVERSION_COMPRESSED
19 POINT_CONVERSION_UNCOMPRESSED
20 POINT_CONVERSION_HYBRID
5f3d6f70
BM
21
22 Also add 'seed' and 'seed_len' members to EC_GROUP with access
23 functions
24 EC_GROUP_set_seed()
25 EC_GROUP_get0_seed()
26 EC_GROUP_get_seed_len()
27 This is used only for ASN1 purposes (so far).
458c2917
BM
28 [Nils Larsch <nla@trustcenter.de>]
29
30 *) Add 'field_type' member to EC_METHOD, which holds the NID
31 of the appropriate field type OID. The new function
32 EC_METHOD_get_field_type() returns this value.
33 [Nils Larsch <nla@trustcenter.de>]
34
6cbe6382
BM
35 *) Add functions
36 EC_POINT_point2bn()
37 EC_POINT_bn2point()
38 EC_POINT_point2hex()
39 EC_POINT_hex2point()
40 providing useful interfaces to EC_POINT_point2oct() and
41 EC_POINT_oct2point().
42 [Nils Larsch <nla@trustcenter.de>]
43
b6db386f
BM
44 *) Change internals of the EC library so that the functions
45 EC_GROUP_set_generator()
46 EC_GROUP_get_generator()
47 EC_GROUP_get_order()
48 EC_GROUP_get_cofactor()
49 are implemented directly in crypto/ec/ec_lib.c and not dispatched
50 to methods, which would lead to unnecessary code duplication when
51 adding different types of curves.
6cbe6382 52 [Nils Larsch <nla@trustcenter.de> with input by Bodo Moeller]
b6db386f 53
47234cd3
BM
54 *) Implement compute_wNAF (crypto/ec/ec_mult.c) without BIGNUM
55 arithmetic, and such that modified wNAFs are generated
56 (which avoid length expansion in many cases).
57 [Bodo Moeller]
58
82652aaf
BM
59 *) Add a function EC_GROUP_check_discriminant() (defined via
60 EC_METHOD) that verifies that the curve discriminant is non-zero.
61
62 Add a function EC_GROUP_check() that makes some sanity tests
63 on a EC_GROUP, its generator and order. This includes
64 EC_GROUP_check_discriminant().
65 [Nils Larsch <nla@trustcenter.de>]
66
4d94ae00
BM
67 *) Add ECDSA in new directory crypto/ecdsa/.
68
69 Add applications 'openssl ecdsaparam' and 'openssl ecdsa'
70 (these are variants of 'openssl dsaparam' and 'openssl dsa').
71
72 ECDSA support is also included in various other files across the
73 library. Most notably,
74 - 'openssl req' now has a '-newkey ecdsa:file' option;
75 - EVP_PKCS82PKEY (crypto/evp/evp_pkey.c) now can handle ECDSA;
76 - X509_PUBKEY_get (crypto/asn1/x_pubkey.c) and
77 d2i_PublicKey (crypto/asn1/d2i_pu.c) have been modified to make
78 them suitable for ECDSA where domain parameters must be
79 extracted before the specific public key.
f8e21776 80 [Nils Larsch <nla@trustcenter.de>]
4d94ae00 81
af28dd6c
BM
82 *) Include some named elliptic curves, and add OIDs from X9.62,
83 SECG, and WAP/WTLS. The curves can be obtained from the new
84 functions
4d94ae00
BM
85 EC_GROUP_new_by_nid()
86 EC_GROUP_new_by_name()
254ef80d
BM
87 Also add a 'curve_name' member to EC_GROUP objects, which can be
88 accessed via
4d94ae00
BM
89 EC_GROUP_set_nid()
90 EC_GROUP_get_nid()
91 [Nils Larsch <nla@trustcenter.de, Bodo Moeller]
92
381a146d 93 Changes between 0.9.6d and 0.9.7 [XX xxx 2002]
dc014d43 94
a6c6874a
GT
95 *) Make sure any ENGINE control commands make local copies of string
96 pointers passed to them whenever necessary. Otherwise it is possible
97 the caller may have overwritten (or deallocated) the original string
98 data when a later ENGINE operation tries to use the stored values.
99