summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/man/EC_KEY_new.3
diff options
context:
space:
mode:
authortb <>2025-04-25 19:57:12 +0000
committertb <>2025-04-25 19:57:12 +0000
commit60904c983d054a3655c2d3ac38828e2b8c9cc067 (patch)
tree861ff688d2e1eb96feb6980c81276954e5ebafe4 /src/lib/libcrypto/man/EC_KEY_new.3
parentd569ea3a7dd45ac021b0335a24722227abc9bd8d (diff)
downloadopenbsd-60904c983d054a3655c2d3ac38828e2b8c9cc067.tar.gz
openbsd-60904c983d054a3655c2d3ac38828e2b8c9cc067.tar.bz2
openbsd-60904c983d054a3655c2d3ac38828e2b8c9cc067.zip
Rework EC documentation
This replaces the giant, poor quality and outdated EC_GROUP_copy.3, EC_GROUP_new.3, and EC_POINT_new.3 manuals with seven new manuals written from scratch. * EC_GROUP_new_by_curve_name() is the entry point for builtin curves, * EC_GROUP_new_curve_GFp() describes lower level API that should not usually be needed apart from a handful of accessors. * EC_GROUP_check() contains two functions that applications should not need because either you know for certain something is an elliptic curve (so these checks are pointless) or you should not use it. * EC_GROUP_get_curve_name() describes some low level ASN.1 footguns and corresponding getters. * EC_POINT_new() contains the simple EC_POINT allocation and freeing API * EC_POINT_get_affine_coordinates() contains the coordinate accessors * EC_POINT_point2oct() is about encoding elliptic curve points While all this is quite far from perfect, the diff is getting too big and it will be easier to improve this in tree. It is definitely more repetitive than I would like it to be. Reviews, tweaks and general feedback are of course welcome. discussed with jsing
Diffstat (limited to 'src/lib/libcrypto/man/EC_KEY_new.3')
-rw-r--r--src/lib/libcrypto/man/EC_KEY_new.321
1 files changed, 12 insertions, 9 deletions
diff --git a/src/lib/libcrypto/man/EC_KEY_new.3 b/src/lib/libcrypto/man/EC_KEY_new.3
index c24cb080ef..a2592a20ae 100644
--- a/src/lib/libcrypto/man/EC_KEY_new.3
+++ b/src/lib/libcrypto/man/EC_KEY_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EC_KEY_new.3,v 1.21 2025/03/08 16:38:13 tb Exp $ 1.\" $OpenBSD: EC_KEY_new.3,v 1.22 2025/04/25 19:57:12 tb Exp $
2.\" full merge up to: OpenSSL 3aef36ff Jan 5 13:06:03 2016 -0500 2.\" full merge up to: OpenSSL 3aef36ff Jan 5 13:06:03 2016 -0500
3.\" partial merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100 3.\" partial merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100
4.\" 4.\"
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: March 8 2025 $ 52.Dd $Mdocdate: April 25 2025 $
53.Dt EC_KEY_NEW 3 53.Dt EC_KEY_NEW 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -234,7 +234,7 @@ and supplying the
234.Fa nid 234.Fa nid
235of the associated curve. 235of the associated curve.
236Refer to 236Refer to
237.Xr EC_GROUP_new 3 237.Xr EC_GROUP_new_by_curve_name 3
238for a description of curve names. 238for a description of curve names.
239This function simply wraps calls to 239This function simply wraps calls to
240.Fn EC_KEY_new 240.Fn EC_KEY_new
@@ -357,7 +357,7 @@ The format of the external representation of the public key written by
357such as whether it is stored in a compressed form or not, 357such as whether it is stored in a compressed form or not,
358is described by the point_conversion_form. 358is described by the point_conversion_form.
359See 359See
360.Xr EC_GROUP_copy 3 360.Xr EC_POINT_point2oct 3
361for a description of point_conversion_form. 361for a description of point_conversion_form.
362.Pp 362.Pp
363When reading a private key encoded without an associated public key, 363When reading a private key encoded without an associated public key,
@@ -378,7 +378,7 @@ and
378get and set the point_conversion_form for the 378get and set the point_conversion_form for the
379.Fa key . 379.Fa key .
380For a description of point_conversion_form refer to 380For a description of point_conversion_form refer to
381.Xr EC_GROUP_copy 3 . 381.Xr EC_POINT_point2oct 3 .
382.Pp 382.Pp
383.Fn EC_KEY_set_flags 383.Fn EC_KEY_set_flags
384sets the flags in the 384sets the flags in the
@@ -407,7 +407,7 @@ sets the asn1_flag on the underlying
407.Vt EC_GROUP 407.Vt EC_GROUP
408object (if set). 408object (if set).
409Refer to 409Refer to
410.Xr EC_GROUP_copy 3 410.Xr EC_GROUP_get_curve_name 3
411for further information on the asn1_flag. 411for further information on the asn1_flag.
412.Pp 412.Pp
413.Fn EC_KEY_precompute_mult 413.Fn EC_KEY_precompute_mult
@@ -488,11 +488,14 @@ returns the point_conversion_form for the
488.Vt EC_KEY . 488.Vt EC_KEY .
489.Sh SEE ALSO 489.Sh SEE ALSO
490.Xr d2i_ECPKParameters 3 , 490.Xr d2i_ECPKParameters 3 ,
491.Xr EC_GROUP_copy 3 , 491.Xr EC_GROUP_check 3 ,
492.Xr EC_GROUP_new 3 , 492.Xr EC_GROUP_get_curve_name 3 ,
493.Xr EC_GROUP_new_by_curve_name 3 ,
494.Xr EC_GROUP_new_curve_GFp 3 ,
493.Xr EC_KEY_METHOD_new 3 , 495.Xr EC_KEY_METHOD_new 3 ,
494.Xr EC_POINT_add 3 , 496.Xr EC_POINT_add 3 ,
495.Xr EC_POINT_new 3 , 497.Xr EC_POINT_get_affine_coordinates 3 ,
498.Xr EC_POINT_point2oct 3 ,
496.Xr ECDH_compute_key 3 , 499.Xr ECDH_compute_key 3 ,
497.Xr ECDSA_SIG_new 3 , 500.Xr ECDSA_SIG_new 3 ,
498.Xr EVP_PKEY_set1_EC_KEY 3 501.Xr EVP_PKEY_set1_EC_KEY 3