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);
Install using Composer as kgilden/php-digidoc.
- PHP >= 5.3.8
- (php-soap, if you're on a Debian based distro)
See CONTRIBUTING.md file.
It's as simple as running phpunit
.
PHP DigiDoc
is released under the MIT License.
See the bundled LICENSE file for details.