php-privacy/openpgp

PHP Privacy - The OpenPGP library in PHP language

1.1.7 2024-03-27 09:33 UTC

This package is auto-updated.

Last update: 2024-04-28 07:49:07 UTC


README

PHP Privacy is an implementation of the OpenPGP standard in PHP language. It implements RFC4880, RFC5581, RFC6637, parts of RFC4880bis.

Requirement

  • PHP 8.1.x or later,
  • phpseclib library provides cryptography algorithms,
  • (optional) PHPUnit to run tests,

Features

Installation

Via Composer

$ composer require php-privacy/openpgp

or just add it to your composer.json file directly.

{
    "require": {
        "php-privacy/openpgp": "*"
    }
}

Basic usage of PHP Privacy

Sign and verify cleartext message

<?php declare(strict_types=1);

require_once 'vendor/autoload.php';

use OpenPGP\OpenPGP;

$armoredPublicKey = '-----BEGIN PGP PUBLIC KEY BLOCK-----';
$armoredPrivateKey = '-----BEGIN PGP PRIVATE KEY BLOCK-----';
$passphrase = 'Your passphrase';

$publicKey = OpenPGP::readPublicKey($armoredPublicKey);
$privateKey = OpenPGP::decryptPrivateKey($armoredPrivateKey, $passphrase);
$cleartextMessage = OpenPGP::createCleartextMessage('Hello, PHP Privacy!');
$signedMessage = $cleartextMessage->sign([$privateKey]);
$verifications = $signedMessage->verify([$publicKey]);

Licensing

BSD 3-Clause

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.