Skip to content

Commit

Permalink
Problem: no documentation for zmq_curve_public
Browse files Browse the repository at this point in the history
Solution: add manpage
  • Loading branch information
bluca committed Dec 26, 2016
1 parent dc39ceb commit baf32a1
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 3 deletions.
2 changes: 1 addition & 1 deletion doc/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \
zmq_errno.3 zmq_strerror.3 zmq_version.3 \
zmq_sendmsg.3 zmq_recvmsg.3 \
zmq_proxy.3 zmq_proxy_steerable.3 \
zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 \
zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 zmq_curve_public.3 \
zmq_has.3 \
zmq_atomic_counter_new.3 zmq_atomic_counter_set.3 \
zmq_atomic_counter_inc.3 zmq_atomic_counter_dec.3 \
Expand Down
3 changes: 3 additions & 0 deletions doc/zmq.txt
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,9 @@ Elliptic curve authentication and encryption::
Generate a CURVE keypair in armored text format::
linkzmq:zmq_curve_keypair[3]

Derive a CURVE public key from a secret key:
linkzmq:zmq_curve_public[3]

Converting keys to/from armoured text strings::
linkzmq:zmq_z85_decode[3]
linkzmq:zmq_z85_encode[3]
Expand Down
62 changes: 62 additions & 0 deletions doc/zmq_curve_public.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
zmq_curve_public(3)
===================


NAME
----
zmq_curve_public - derive the public key from a private key


SYNOPSIS
--------
*int zmq_curve_public (char *z85_public_key, char *z85_secret_key);*


DESCRIPTION
-----------
The _zmq_curve_public()_ function shall derive the public key from a
private key. The caller provides two buffers, each at least 41 octets
large. In z85_secret_key the caller shall provide the private key, and
the function will store the public key in z85_public_key. The keys are
encoded using linkzmq:zmq_z85_encode[3].


RETURN VALUE
------------
The _zmq_curve_public()_ function shall return 0 if successful, else it
shall return `-1` and set 'errno' to one of the values defined below.


ERRORS
------
*ENOTSUP*::
The libzmq library was not built with cryptographic support (libsodium).


EXAMPLE
-------
.Deriving the public key from a CURVE private key
----
char public_key [41];
char secret_key [41];
int rc = zmq_curve_keypair (public_key, secret_key);
assert (rc == 0);
char derived_public[41];
rc = zmq_curve_public (derived_public, secret_key);
assert (rc == 0);
assert (!strcmp (derived_public, public_key));
----


SEE ALSO
--------
linkzmq:zmq_z85_decode[3]
linkzmq:zmq_z85_encode[3]
linkzmq:zmq_curve_keypair[3]
linkzmq:zmq_curve[7]


AUTHORS
-------
This page was written by the 0MQ community. To make a change please
read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.
6 changes: 4 additions & 2 deletions doc/zmq_setsockopt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,8 @@ sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
bytes, or as a 40-character string encoded in the Z85 encoding format and
terminated in a null byte. The public key must always be used with the
matching secret key. To generate a public/secret key pair, use
linkzmq:zmq_curve_keypair[3].
linkzmq:zmq_curve_keypair[3]. To derive the public key from a secret key,
use linkzmq:zmq_curve_public[3].

NOTE: an option value size of 40 is supported for backwards compatibility,
though is deprecated.
Expand All @@ -150,7 +151,8 @@ Sets the socket's long term secret key. You must set this on both CURVE
client and server sockets, see linkzmq:zmq_curve[7]. You can provide the
key as 32 binary bytes, or as a 40-character string encoded in the Z85
encoding format and terminated in a null byte. To generate a public/secret
key pair, use linkzmq:zmq_curve_keypair[3].
key pair, use linkzmq:zmq_curve_keypair[3]. To derive the public key from
a secret key, use linkzmq:zmq_curve_public[3].

NOTE: an option value size of 40 is supported for backwards compatibility,
though is deprecated.
Expand Down
1 change: 1 addition & 0 deletions doc/zmq_z85_decode.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ SEE ALSO
--------
linkzmq:zmq_z85_decode[3]
linkzmq:zmq_curve_keypair[3]
linkzmq:zmq_curve_public[3]
linkzmq:zmq_curve[7]


Expand Down
1 change: 1 addition & 0 deletions doc/zmq_z85_encode.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ SEE ALSO
--------
linkzmq:zmq_z85_decode[3]
linkzmq:zmq_curve_keypair[3]
linkzmq:zmq_curve_public[3]
linkzmq:zmq_curve[7]


Expand Down

0 comments on commit baf32a1

Please sign in to comment.