paragonie / quill
Library for quickly and easily writing data to a Chronicle instance
Installs: 25 064
Dependents: 1
Suggesters: 0
Security: 0
Stars: 21
Watchers: 7
Forks: 1
Open Issues: 0
Requires
- php: ^7.1|^8
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6
- paragonie/certainty: ^2.9
- paragonie/constant_time_encoding: ^2|^3
- paragonie/sapient: ^1
- paragonie/sodium_compat: ^1.21|^2
Requires (Dev)
- phpunit/phpunit: ^7|^8|^9
- vimeo/psalm: ^3|^4
README
Quill is a library for publishing data to a Chronicle instance. Requires PHP 7.1 or newer. PHP 7.2+ is recommended.
A monolog handler is also available.
Installing
composer require paragonie/quill
Usage
<?php use ParagonIE\ConstantTime\Base64UrlSafe; use ParagonIE\Quill\Quill; use ParagonIE\Sapient\CryptographyKeys\{ SigningSecretKey, SigningPublicKey }; $quill = (new Quill()) ->setChronicleURL('https://chronicle-public-test.paragonie.com/chronicle') ->setServerPublicKey( new SigningPublicKey( Base64UrlSafe::decode('3BK4hOYTWJbLV5QdqS-DFKEYOMKd-G5M9BvfbqG1ICI=') ) ) ->setClientID('**Your Client ID provided by the Chronicle here**') ->setClientSecretKey( new SigningSecretKey('/* Loaded from the filesystem or something. */') ); $quill->write("Important security notice goes here.");
Writing Data (Unencrypted)
There are two main API methods that do the same thing but differ in their return values:
write(string $input): ResponseInterface
- Returns the PSR-7 Response object, or throws an exception
blindWrite(string $input): bool
- Returns
TRUE
orFALSE
- Returns
Writing Data (Symmetric Encryption)
If you want to encrypt your messages using a shared encryption key:
writeEncrypted(string $input, SharedEncryptionKey $key): ResponseInterface
- Returns the PSR-7 Response object, or throws an exception
blindWriteEncrypted(string $input, SharedEncryptionKey $key): bool
- Returns
TRUE
orFALSE
- Returns
Writing Data (Asymmetric Encryption)
If you want to encrypt your messages using a public-key cryptography:
writeSealed(string $input, SealingPublicKey $key): ResponseInterface
- Returns the PSR-7 Response object, or throws an exception
blindWriteSealed(string $input, SealingPublicKey $key): bool
- Returns
TRUE
orFALSE
- Returns