openpgp-card/openpgp-card/README.md
Heiko Schaefer 0e89c4baa6
Move backend traits to new card-backend crate
- Move CardBackend, CardTransation traits to card-backend
- Break SmartcardErrors out from openpgp-card to card-backend
- CardCaps are (mostly) openpgp-card specific, move them (mostly) to openpgp-card
- Rename pcsc and scdc backend crates: card-backend-pcsc, card-backend-scdc
2023-08-27 22:24:16 +02:00

29 lines
No EOL
1.1 KiB
Markdown

<!--
SPDX-FileCopyrightText: 2021-2023 Heiko Schaefer <heiko@schaefer.name>
SPDX-License-Identifier: MIT OR Apache-2.0
-->
**OpenPGP card client library**
This crate implements a client library for the
[OpenPGP card](https://gnupg.org/ftp/specs/OpenPGP-smart-card-application-3.4.1.pdf)
specification, in Rust.
This library provides low level, OpenPGP implementation-agnostic access to
OpenPGP cards. Its communication with cards is based on simple data
structures that closely match the formats defined in the OpenPGP card
specification.
**Card access backends**
This crate doesn't contain code to talk to cards. Implementations of the traits
`CardBackend`/`CardTransaction` need to be provided for access to cards.
The crates [card-backend-pcsc](https://crates.io/crates/card-backend-pcsc)
and the experimental crate [card-backend-scdc](https://crates.io/crates/card-backend-scdc)
provide implementations of these traits for use with this crate.
**Sequoia PGP wrapper**
See the companion crate [openpgp-card-sequoia](https://crates.io/crates/openpgp-card-sequoia)
for a high level wrapper to use this library with [Sequoia PGP](https://sequoia-pgp.org/).