Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
OpenVTC Core Library
Core library for the OpenVTC ecosystem. Provides configuration management, DID-based identity operations, encrypted storage, peer-to-peer relationship handling, Verifiable Relationship Credentials (VRCs), and DIDComm messaging types used by the CLI and related tools.
Overview
openvtc-core is the shared foundation crate that the OpenVTC binaries
(openvtc and did-git-sign) depend on. It defines the data structures,
cryptographic routines, and protocol constants needed to operate within
the Linux Foundation's decentralized trust infrastructure.
Modules
| Module | Description |
|---|---|
config |
Multi-layer configuration system split into public (plaintext on disk), protected (AES-256-GCM encrypted on disk), and secured (OS keyring) layers. Manages DID documents, TDK profiles, and key material. |
relationships |
Peer-to-peer trust relationship lifecycle — request, accept, reject, and finalize flows over DIDComm. |
vrc |
Verifiable Relationship Credentials — request, issue, and verify VRCs that attest to established relationships. |
tasks |
Async task tracker for long-running DIDComm operations (message send/receive, credential issuance). |
vetting |
Peer identity vetting: tickets, applications, the vetter desk, and the peer Trust Tasks between them. |
bip32 |
BIP32 hierarchical key derivation from a seed, with helpers to derive Ed25519 signing keys and X25519 encryption keys. |
openpgp_card |
Hardware token (OpenPGP smart card) support for key storage and signing. Feature-gated behind openpgp-card. |
errors |
Unified error type (OpenVTCError) used across the library. |
logs |
Structured logging utilities. |
Feature Flags
| Flag | Default | Description |
|---|---|---|
openpgp-card |
yes | Enables OpenPGP smart-card support via openpgp-card, card-backend-pcsc, and openpgp-card-rpgp. Disable with default-features = false on platforms without PC/SC. |
DIDComm Message Types
The library defines a MessageType enum and corresponding protocol_urls
constants for the OpenVTC messaging protocol, covering relationship
requests, trust pings, VRC issuance, and maintainer list exchange.
Security
- Encryption at rest — Protected configuration is encrypted with AES-256-GCM using keys derived via HKDF-SHA256.
- OS keyring storage — Secret key material (seeds, unlock codes) is
stored in the operating system's native credential store through the
keyringcrate. - Zeroization — Sensitive values are zeroized on drop via the
zeroizeandsecrecycrates to limit exposure in memory. - Hardware tokens — When the
openpgp-cardfeature is enabled, private keys can remain on a smart card and never touch disk.
Environment Variables
| Variable | Purpose |
|---|---|
OPENVTC_MEDIATOR_DID |
Not read by this crate. The openvtc binary honours it only when built with the dev-overrides feature (runtime-only, never saved); release builds ignore it. |
OPENVTC_ORG_DID |
Override the default Linux Foundation organisation DID. |
License
Licensed under Apache-2.0.