ragaga / certificate-checker
Cryptopro, Rutoken Certificate checker library
1.0.3
2021-05-29 16:53 UTC
Requires
- php: ^7.2
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-04-29 04:33:59 UTC
README
Installation:
composer require ragaga/certificate-checker
or add to composer.json in require
"ragaga/certificate/checker": "^1.0"
Usage:
use Ragaga\CertificateChecker\CertificateChecker; use Ragaga\CertificateChecker\CheckerFactory; use Ragaga\CertificateChecker\Enums\CryptoProvider; use Ragaga\CertificateChecker\Checkers\RutokenChecker; use Ragaga\CertificateChecker\Checkers\CryptoproChecker; use Ragaga\CertificateChecker\SignatureData;
Variations of factory creation
- Default
$factory = new CheckerFactory();
- Customize on creation
$factory = new CheckerFactory([ CryptoProvider::CRYPTOPRO => CryptoproChecker::class, CryptoProvider::RUTOKEN => function(){ $tmpDir = '/tmp/'; $cryptoproPath = '/opt/cprocsp/bin/amd64/cryptcp'; return new RutokenChecker($cryptoproPath, $tmpDir); } ]);
- Rebound after creation
$factory = new CheckerFactory(); $factory->bind(CryptoProvider::RUTOKEN, function(){ $tmpDir = '/tmp/'; $cryptoproPath = '/opt/cprocsp/bin/amd64/cryptcp'; return new RutokenChecker($cryptoproPath, $tmpDir); });
Check signature
$signatureData = new SignatureData('source', 'signature', CryptoProvider::RUTOKEN); $checker = new CertificateChecker($factory); $signatureValid = $checker->isSignatureValid($signatureData);