librnp - OpenPGP implementation, available via FFI interface.
Contents
Bugs
Please report issues via the RNP public issue tracker at: https://github.com/rnpgp/rnp/issues.
Securityreports or security-sensitivefeedback should be reported according to the instructions at:
https://www.rnpgp.org/feedback.
Copying
Copyright (C) 2017-2021 Ribose. The RNP software suite is freelylicensed: please refer to the LICENSE
file for details.
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.
Name
librnp - OpenPGP implementation, available via FFI interface.
Resources
Website: https://www.rnpgp.org
Sourcerepository: https://github.com/rnpgp/rnp
See Also
rnp(1), rnpkeys(1)
Synopsis
#include<rnp/rnp.h>#include<rnp/rnp_err.h>
