Download the PHP package web-auth/cose-lib without Composer
On this page you can find all versions of the php package web-auth/cose-lib. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download web-auth/cose-lib
More information about web-auth/cose-lib
Files in web-auth/cose-lib
Package cose-lib
Short Description CBOR Object Signing and Encryption (COSE) For PHP
License MIT
Homepage https://github.com/web-auth
Informations about the package cose-lib
COSE Library for PHP
CBOR Object Signing and Encryption (COSE) for PHP is a comprehensive library that provides full support for COSE operations including signing, encryption, and MAC (Message Authentication Code) operations.
This library implements:
Features
✅ Complete COSE Tag Support
- COSE_Sign1 (tag 18) - Single signature
- COSE_Sign (tag 98) - Multiple signatures
- COSE_Encrypt0 (tag 16) - Single recipient encryption
- COSE_Encrypt (tag 96) - Multiple recipients encryption
- COSE_Mac0 (tag 17) - MAC without recipients
- COSE_Mac (tag 97) - MAC with recipients
✅ Cryptographic Algorithms
- Signatures: ECDSA (ES256, ES384, ES512, ES256K), EdDSA (Ed25519, Ed448), RSA (RS256/384/512, PS256/384/512)
- MAC: HMAC with SHA-256/384/512
- Compatible with WebAuthn, FIDO2, and digital COVID certificates
✅ Modern PHP
- PHP 8.1+ with strict types
- Full type safety and PHPStan compliance
- Comprehensive test coverage
Installation
Install the library with Composer:
For COSE tag support (Sign, Encrypt, Mac operations), also install:
Quick Start
Verifying a COSE_Sign1 Signature
Creating a COSE_Sign1 Message
Documentation
- Usage Guide - Complete documentation with examples
- RFC 9052 - COSE Structures
- RFC 9053 - COSE Algorithms
Use Cases
This library is perfect for:
- 🏥 Digital Health Certificates - COVID-19 vaccination passes (EU Digital COVID Certificate)
- 🔐 WebAuthn/FIDO2 - Authenticator attestation and assertion signatures
- 📱 IoT Security - Secure messaging for constrained devices
- 🌐 Web PKI - CBOR-based certificate chains
- 📄 Document Signing - Compact digital signatures
Supported Algorithms
Signature Algorithms
| Algorithm | Identifier | Description |
|---|---|---|
| ES256 | -7 | ECDSA with SHA-256 |
| ES384 | -35 | ECDSA with SHA-384 |
| ES512 | -36 | ECDSA with SHA-512 |
| ES256K | -47 | ECDSA with secp256k1 |
| EdDSA | -8 | EdDSA |
| Ed25519 | - | EdDSA with Curve25519 |
| RS256 | -257 | RSASSA-PKCS1-v1_5 with SHA-256 |
| RS384 | -258 | RSASSA-PKCS1-v1_5 with SHA-384 |
| RS512 | -259 | RSASSA-PKCS1-v1_5 with SHA-512 |
| PS256 | -37 | RSASSA-PSS with SHA-256 |
| PS384 | -38 | RSASSA-PSS with SHA-384 |
| PS512 | -39 | RSASSA-PSS with SHA-512 |
MAC Algorithms
| Algorithm | Identifier | Description |
|---|---|---|
| HS256 | 5 | HMAC with SHA-256 |
| HS384 | 6 | HMAC with SHA-384 |
| HS512 | 7 | HMAC with SHA-512 |
| HS256/64 | 4 | HMAC with SHA-256 truncated to 64 bits |
Testing
Run the test suite with:
Or using Castor:
The library includes comprehensive tests including:
- Unit tests for all COSE tag types
- Integration tests with real cryptographic operations
- COVID-19 certificate verification examples
- Test fixtures with actual certificates
Requirements
- PHP 8.1 or higher
- ext-json
- ext-openssl
- brick/math
- spomky-labs/pki-framework
- spomky-labs/cbor-php (for COSE tag support)
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
For security vulnerabilities, please email security [at] spomky-labs.com instead of using the issue tracker.
Support
I bring solutions to your problems and answer your questions.
If you really love this project and the work I have done, or if you want me to prioritize your issues, you can support me:
License
This software is released under the MIT License.
Credits
Maintained by Florent Morselli and contributors.
Made with ❤️ for the PHP community
All versions of cose-lib with dependencies
ext-json Version *
ext-openssl Version *
brick/math Version ^0.9|^0.10|^0.11|^0.12|^0.13|^0.14|^0.15|^0.16|^0.17
spomky-labs/pki-framework Version ^1.0