f8e0e997fc
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.
31 lines
1.1 KiB
PHP
31 lines
1.1 KiB
PHP
<?php
|
|
|
|
@include_once dirname(__FILE__).'/../vendor/autoload.php';
|
|
require_once dirname(__FILE__).'/../lib/openpgp.php';
|
|
require_once dirname(__FILE__).'/../lib/openpgp_crypt_rsa.php';
|
|
|
|
/* Parse secret key from STDIN, the key must not be password protected */
|
|
$wkey = OpenPGP_Message::parse(file_get_contents('php://stdin'));
|
|
$wkey = $wkey[0];
|
|
|
|
$string = "This\nis\na\ntest.";
|
|
|
|
/* Create a new literal data packet */
|
|
$data = new OpenPGP_LiteralDataPacket($string, array('format' => 'u', 'filename' => 'stuff.txt'));
|
|
$data->normalize(true); // Clearsign-style normalization of the LiteralDataPacket
|
|
|
|
/* Create a signer from the key */
|
|
$sign = new OpenPGP_Crypt_RSA($wkey);
|
|
|
|
/* The message is the signed data packet */
|
|
$m = $sign->sign($data);
|
|
|
|
/* Generate clearsigned data */
|
|
$packets = $m->signatures()[0];
|
|
echo "-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA256\n\n";
|
|
// Output normalised data. You could convert line endings here
|
|
// without breaking the signature, but do not add any
|
|
// trailing whitespace to lines.
|
|
echo preg_replace("/^-/", "- -", $packets[0]->data)."\n";
|
|
echo OpenPGP::enarmor($packets[1][0]->to_bytes(), "PGP SIGNATURE");
|