fairpm/did-manager is the core FAIR DID library. It contains generic DID lifecycle management, PLC operations, key generation/export, and local key storage.
- Create, resolve, update, rotate, and deactivate
did:plcidentifiers - Generate secp256k1 rotation keys and Ed25519 verification keys
- Encode/sign PLC operations with CBOR and multibase helpers
- Store DIDs, keys, and generic metadata locally
- Export keys in JSON, text, and environment-variable formats
- PHP 8.3 or higher
- Composer
- Extensions:
curl,json
git clone https://github.com/fairpm/did-manager.git
cd did-manager
composer installFor WordPress package metadata parsing, install fairpm/did-manager-wordpress alongside this package.
<?php
require_once 'vendor/autoload.php';
use FAIR\DID\DIDManager;
use FAIR\DID\PLC\PlcClient;
use FAIR\DID\Storage\KeyStore;
$store = new KeyStore(__DIR__ . '/keys.json');
$client = new PlcClient();
$manager = new DIDManager($store, $client);
$result = $manager->create_did(
handle: 'example-package',
service_endpoint: 'https://example.com/did-endpoint',
type: 'package',
metadata: ['owner' => 'Example Org'],
);
echo $result['did'] . PHP_EOL;FAIR\DID\Cryptofor encoding, canonicalization, and DID helpersFAIR\DID\Keysfor key generation, decoding, and exportFAIR\DID\PLCfor PLC client and operation objectsFAIR\DID\Storagefor local key/DID persistenceFAIR\DIDfor high-level DID lifecycle orchestration
Core examples remain in examples:
01-generate-keys.php02-plc-operations.php03-key-storage.php04-export-keys.php05-generate-and-submit-did.php
WordPress examples were moved to the did-manager-wordpress package.
composer test
composer lint
composer analyzefairpm/did-manager-wordpressfor WordPress header parsing, readme parsing, and FAIR metadata generation
Never commit private keys or generated keystore files to version control.
GPL-3.0-or-later. See LICENSE.md for details.