README
authorvb
Wed, 06 Aug 2014 17:04:14 +0200
changeset 135b5031615884
parent 12 44803a6c4549
child 17 a37f1d18c82e
README
README.txt
     1.1 --- a/README.txt	Thu Jul 31 10:42:44 2014 +0200
     1.2 +++ b/README.txt	Wed Aug 06 17:04:14 2014 +0200
     1.3 @@ -3,9 +3,39 @@
     1.4  
     1.5  0. What is it
     1.6  1. How to use it
     1.7 -2. Thanks
     1.8 +2. Who is providing this, and how is it provided
     1.9  
    1.10  0. What is it
    1.11  -------------
    1.12  
    1.13 +pEp Engine is an implementation of the p≡p standard as a portable C library.
    1.14 +pEp Engine is written for being used on Windows, MacOS X, iOS, Android and
    1.15 +GNU/Linux. It is meant to be used on other POSIX compliant systems as well.
    1.16  
    1.17 +The p≡p standard defines how to use encryption and key management for message
    1.18 +based communication between persons. It specifies a metric for encryption
    1.19 +channels like OpenPGP or CMS, which then are applied on message transports like
    1.20 +Internet Mail, SMS or WhatsApp. Additionally, the p≡p standard defines how to
    1.21 +use GNUNet for implementing messaging where meta data can be hidden from
    1.22 +eavesdroppers.
    1.23 +
    1.24 +1. How to use it
    1.25 +----------------
    1.26 +
    1.27 +pEp Engine never should be used by an application programmer directly. It is
    1.28 +meant to be used by an adapting implementation which removes most of the attack
    1.29 +vectors usually offered by C code and common application programming mistakes.
    1.30 +Such an adapter must not be written in C. If possible, it must be written in a
    1.31 +safe language without the problems pointers bring in. If this is not possible,
    1.32 +the adapter must be written in an unsafe language like C++, but the interface
    1.33 +to the application programmer has to implement safety against such application
    1.34 +programmer mistakes.
    1.35 +
    1.36 +pEp Engine is offering keymanagement.h. This should be the only interface which
    1.37 +is being used by an adapter. The documentation is in this header file. If this
    1.38 +cannot be done, because an adapter needs more internal access to pEp Engine,
    1.39 +there is the additional interface in pEpEngine.h. This may be used while it is
    1.40 +recommended not to use it. Only if there is no other way for the programmer of
    1.41 +the adapter pEpEngine.h should be used. This is true for opening and closing a
    1.42 +session to pEp Engine.
    1.43 +