PHP DigiDoc is a PHP library for digitally signing and verifying digital
signatures using estonian id cards.
<?php use KG\DigiDoc\Api; use KG\DigiDoc\Client; // This file is generated by Composer require_once 'vendor/autoload.php'; $api = new Api(new Client()); // First off, let's create a new envelope. $envelope = $api->create(); // Add the files you want to get signed. $envelope->addFile('/path/to/file.txt'); $envelope->addFile('/second/path/to/file.md'); // Add a signature or two. Signature takes in certificate id and certificate // signature. You must retrieve these from the client using the browser plugin. $envelope->addSignature($signature = new Signature('F1..20', '8F..C0')); // Sync up with the server. For example, the previous signature is given // a challenge, which the client must solve. $api->update($envelope); printf("Challenge: %s\n", $signature->getChallenge()); // Set the solution for the given signature. This is computed by the borwser // plugin. $signature->setSolution('F6..00'); // Sync up with the server once more to send the solution. $api->update($envelope); // Time to write it on the disc. $api->write('/tmp/my-newly-created-envelope.bdoc'); // Make sure to "close" the envelope (basically closes the session in the // remote DigiDoc service). $api->close($envelope);
- PHP >= 5.3.8
- (php-soap, if you're on a Debian based distro)
See CONTRIBUTING.md file.
Running the Tests
It's as simple as running
PHP DigiDoc is released under the MIT License.
See the bundled LICENSE file for details.