List the non-library crates under the architecture diagram.
This commit is contained in:
parent
22bbf77707
commit
1220b39498
1 changed files with 18 additions and 6 deletions
24
README.md
24
README.md
|
@ -9,7 +9,8 @@ standard, in Rust.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
The project consists of the following crates:
|
This project consists of the following library crates:
|
||||||
|
|
||||||
- [openpgp-card](https://crates.io/crates/openpgp-card), which offers a
|
- [openpgp-card](https://crates.io/crates/openpgp-card), which offers a
|
||||||
relatively low level OpenPGP card client API.
|
relatively low level OpenPGP card client API.
|
||||||
It is PGP implementation agnostic.
|
It is PGP implementation agnostic.
|
||||||
|
@ -23,21 +24,32 @@ The project consists of the following crates:
|
||||||
- [openpgp-card-sequoia](https://crates.io/crates/openpgp-card-sequoia),
|
- [openpgp-card-sequoia](https://crates.io/crates/openpgp-card-sequoia),
|
||||||
a higher level API for conveniently using openpgp-card with
|
a higher level API for conveniently using openpgp-card with
|
||||||
[Sequoia PGP](https://sequoia-pgp.org/).
|
[Sequoia PGP](https://sequoia-pgp.org/).
|
||||||
- [openpgp-card-tests](https://gitlab.com/hkos/openpgp-card/-/tree/main/card-functionality),
|
|
||||||
a testsuite to run OpenPGP card operations on smartcards.
|
This is how the libraries relate to each other (and to applications):
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph BT
|
graph BT
|
||||||
OP["openpgp-card-pcsc <br/> (pcsclite backend)"] --> OC
|
OP["openpgp-card-pcsc <br/> (pcsclite backend)"] --> OC
|
||||||
OS["openpgp-card-scdc <br/> (scdaemon backend)"] --> OC["openpgp-card <br/> (low level API)"]
|
OS["openpgp-card-scdc <br/> (scdaemon backend)"] --> OC["openpgp-card <br/> (low level API)"]
|
||||||
OC --> OCS["openpgp-card-sequoia <br/> (high level Sequoia PGP-based API)"]
|
OC --> OCS["openpgp-card-sequoia <br/> (high level Sequoia PGP-based API)"]
|
||||||
OC -.-> U2[applications using low level API]
|
OC -.-> U1[Applications based on low level API]
|
||||||
OCS -.-> U3[Sequoia PGP-based applications]
|
OCS -.-> U2[Sequoia PGP-based applications]
|
||||||
|
|
||||||
classDef userApp fill:#f8f8f8,stroke-dasharray: 5 5;
|
classDef userApp fill:#f8f8f8,stroke-dasharray: 5 5;
|
||||||
class U1,U2,U3 userApp;
|
class U1,U2 userApp;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Additionally, there are the following non-library crates that are built on
|
||||||
|
top of the libraries described above:
|
||||||
|
|
||||||
|
- [openpgp-card-tools](https://crates.io/crates/openpgp-card-sequoia),
|
||||||
|
two CLI tools aimed at end users, to manage and use OpenPGP cards.
|
||||||
|
- [openpgp-card-tests](https://gitlab.com/hkos/openpgp-card/-/tree/main/card-functionality),
|
||||||
|
a test-suite that runs OpenPGP card operations on smartcards.
|
||||||
|
- [openpgp-card-examples](https://gitlab.com/hkos/openpgp-card/-/tree/main/card-examples),
|
||||||
|
small example applications that demonstrate how you can use these
|
||||||
|
libraries in your own projects to access OpenPGP card functionality.
|
||||||
|
|
||||||
### The openpgp-card crate
|
### The openpgp-card crate
|
||||||
|
|
||||||
Implements the functionality described in the OpenPGP card specification,
|
Implements the functionality described in the OpenPGP card specification,
|
||||||
|
|
Loading…
Reference in a new issue