https://github.com/b2cm/iso_mdoc
Dart library for handling datastructures described in ISO/IEC 18013-5.
https://github.com/b2cm/iso_mdoc
hidy library
Last synced: 5 months ago
JSON representation
Dart library for handling datastructures described in ISO/IEC 18013-5.
- Host: GitHub
- URL: https://github.com/b2cm/iso_mdoc
- Owner: b2cm
- License: bsd-3-clause
- Created: 2024-03-15T13:34:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-24T11:36:53.000Z (12 months ago)
- Last Synced: 2025-07-24T15:59:53.487Z (12 months ago)
- Topics: hidy, library
- Language: Dart
- Homepage:
- Size: 142 KB
- Stars: 1
- Watchers: 0
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Iso_mdoc
ISO/IEC 18013-5 describes datastructures to represent a digital drivers-licenses and other documents
and protocols and datastructures to present these documents to verifiers.
This library implements all datastructures and security mechanisms described in the specification.
ISO/IEC 18013-7 describes extension to ISO/IEC 18013-5, e.g. reverse engagement, online presentation using OID4VP.
It is WIP to add these additions to this library.
## Usage
It is RECOMMENDED to have knowledge of ISO/IEC 18013-5 when using this library. The datastructures
are named the same as in the specification.
For concrete usage instructions please consult the examples. You will find a scripted document
exchange in [example/presentation.dart](./example/presentation.dart).
## Cryptography support
Beside algorithms using ed448 and X448 all algorithms and curves named in ISO/IEC 18013-5 are
supported.
## Extensibility
All crypto-Algorithms are supported in their platform independent form using e.g. pointyCastle.
If you prefer to use for example hardware based or platform-dependent cryptography, this is possible be extending
the base classes for KeyAgreement, MacGeneration and Signing (KeyAgreement, MacGenerator, SignatureGenerator).
You will find these base-classes and implementations in [lib/src/crypto_generator.dart](./lib/src/crypto_generator.dart).