From f8e0e997fc125b372cfeadfce7cf4263001bad54 Mon Sep 17 00:00:00 2001 From: Meitar M Date: Thu, 20 Dec 2018 13:42:15 -0700 Subject: [PATCH] Provide more guidance for understanding examples, update `.travis.yml`. This commit adds an `example/README.md` file with a little bit of guidance for running the examples themselves. This is helpful because the examples all rely on the presence of a `phpseclib` installation available to the PHP interpreter, and while there is a `composer.json` file to this effect, none of the examples included the Composer `autoload.php` file. This commit makes no modifications to the example code itself, but does `include_once()` the Composer autoload script so that `phpseclib` loads and avoids causing a fatal error when a new user attempts to run the examples to learn how to use the library. This commit also updates the Travis `before_script` build script, dropping the `--dev` argument to the `composer install` command. Current versions of Composer emit a deprecation notice when `--dev` is passed. --- .travis.yml | 3 ++- examples/README.md | 22 ++++++++++++++++++++++ examples/clearsign.php | 3 +-- examples/deASCIIdeCrypt.php | 1 + examples/encryptDecrypt.php | 1 + examples/keygen.php | 1 + examples/sign.php | 3 +-- examples/verify.php | 3 +-- 8 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 examples/README.md diff --git a/.travis.yml b/.travis.yml index 993c7ae..3205af2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ +--- language: php php: - 7.0 @@ -48,4 +49,4 @@ matrix: - env: PHPSECLIB="2.0.6" fast_finish: true -before_script: 'sed -i "s/\"phpseclib\/phpseclib\": \"[^\"]*/\"phpseclib\/phpseclib\": \"$PHPSECLIB/" composer.json && composer install --prefer-source --dev' +before_script: 'sed -i "s/\"phpseclib\/phpseclib\": \"[^\"]*/\"phpseclib\/phpseclib\": \"$PHPSECLIB/" composer.json && composer install --prefer-source' diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..3f3c3b3 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,22 @@ +OpenPGP.php Examples +==================== + +The scripts in this folder show how to use this library to perform various tasks +such as [generating a new key](keygen.php), [signing a message](sign.php), and +[verifying a message](verify.php) that has been signed. + +To use these examples, make sure [`phpseclib`](http://phpseclib.sourceforge.net/) is available. You can install it +using [Composer](https://getcomposer.org/): + +```sh +git clone https://github.com/singpolyma/openpgp-php.git # Clone the repository. +cd openpgp-php +composer install # Use Composer to install the requirements. +``` + +Once Composer has installed the requirements, run the examples using PHP: + +```sh +# Generate a new OpenPGP key; see the `keygen.php` file for parameters. +php ./examples/keygen.php > mykey.gpg +``` diff --git a/examples/clearsign.php b/examples/clearsign.php index 686af02..1445fa7 100644 --- a/examples/clearsign.php +++ b/examples/clearsign.php @@ -1,5 +1,6 @@ data)."\n"; echo OpenPGP::enarmor($packets[1][0]->to_bytes(), "PGP SIGNATURE"); - -?> diff --git a/examples/deASCIIdeCrypt.php b/examples/deASCIIdeCrypt.php index 9ab6cdd..0326ba6 100644 --- a/examples/deASCIIdeCrypt.php +++ b/examples/deASCIIdeCrypt.php @@ -3,6 +3,7 @@ // USAGE: php examples/deASCIIdeCrypt.php secretkey.asc password message.asc // This will fail if the algo on key or message is not 3DES or AES +@include_once dirname(__FILE__).'/../vendor/autoload.php'; require_once dirname(__FILE__).'/../lib/openpgp.php'; require_once dirname(__FILE__).'/../lib/openpgp_crypt_rsa.php'; require_once dirname(__FILE__).'/../lib/openpgp_crypt_symmetric.php'; diff --git a/examples/encryptDecrypt.php b/examples/encryptDecrypt.php index 7804967..b9c1a52 100644 --- a/examples/encryptDecrypt.php +++ b/examples/encryptDecrypt.php @@ -1,5 +1,6 @@ sign($data); /* Output the raw message bytes to STDOUT */ echo $m->to_bytes(); - -?> diff --git a/examples/verify.php b/examples/verify.php index 8650199..b5cf5b4 100644 --- a/examples/verify.php +++ b/examples/verify.php @@ -1,5 +1,6 @@ verify($m)); - -?>