105
GitHub - paragonie/quill: Library for quickly and easily writing data to a Chron...
source link: https://github.com/paragonie/quill
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Quill
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK