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.
composer require paragonie/quill
<?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.");
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
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
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