summaryrefslogtreecommitdiffstats
path: root/src/lib/librnp.3.adoc
blob: 9af84ab9f9a6e0bde542666877aa89e659ff6b8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
= librnp(3)
RNP
:doctype: manpage
:release-version: {component-version}
:man manual: RNP Manual
:man source: RNP {release-version}

== NAME

librnp - OpenPGP implementation, available via FFI interface.

== SYNOPSIS

*#include <rnp/rnp.h>* +
*#include <rnp/rnp_err.h>*


== DESCRIPTION

*librnp* is part of the *RNP* suite and forms the basis for the _rnp(1)_ and _rnpkeys(1)_ command-line utilities.

It provides an FFI interface to functions required for operations needed by the OpenPGP protocol.

Interface to the library is exposed via _<rnp/rnp.h>_ and _<rnp/rnp_err.h>_ headers.
You will also need to link to _librnp_.

Please see its headers for the full function list and detailed documentation.

== EXAMPLES

A number of examples are provided in *src/examples* folder of the *RNP* suite source tree.

*generate.c*::
Demonstrates generation of an OpenPGP keypair using the JSON key description mechanism.
May be used to generate any custom key types that are supported by the *RNP* suite.

*encrypt.c*::
Demonstrates how to build OpenPGP-encrypted messages.
A message is encrypted with keys, generated via *./generate*, with a hardcoded password.

*decrypt.c*::
Demonstrates how to decrypt OpenPGP messages.
Running this example requires the *./encrypt* example to be first run
in order to produce the sample encrypted message for decryption.

*sign.c*::
Demonstrates how to sign OpenPGP messages.
Running this example requires the *./generate* example to be first run
in order to generate and write out secret keys.

*verify.c*::
Demonstrates verify OpenPGP signed messages.
Again, running this example requires the *./sign* example to be first run
in order to generate a signed OpenPGP message.

== BUGS

Please report _issues_ via the RNP public issue tracker at:
https://github.com/rnpgp/rnp/issues.

_Security reports_ or _security-sensitive feedback_ should be reported
according to the instructions at:
https://www.rnpgp.org/feedback.


== AUTHORS

*RNP* is an open source project led by Ribose and has
received contributions from numerous individuals and
organizations.


== RESOURCES

*Web site*: https://www.rnpgp.org

*Source repository*: https://github.com/rnpgp/rnp


== COPYING

Copyright \(C) 2017-2021 Ribose.
The RNP software suite is _freely licensed_:
please refer to the *LICENSE* file for details.


== SEE ALSO

*rnp(1)*, *rnpkeys(1)*