Crate openpgp_card

source ·
Expand description

Client library for OpenPGP card devices (such as Gnuk, Nitrokey, YubiKey, or Java smartcards running an OpenPGP card application).

This library aims to offer

The openpgp-card-sequoia crate offers a higher level wrapper based on the Sequoia PGP implementation.

Note that this library can’t directly access cards by itself. Instead, users need to supply a backend that implements the CardBackend and CardTransaction traits. For example card-backend-pcsc offers a backend implementation that uses PC/SC to communicate with Smart Cards.

See the architecture diagram for an overview of the ecosystem around this crate.

Modules§

  • Data structures that specify algorithms to use on an OpenPGP card.
  • OpenPGP card data objects (DO)
  • Data structures for cryptographic material: Private key data, public key data, cryptograms for decryption, hash data for signing.

Structs§

  • An OpenPGP card object (backed by a CardBackend implementation).
  • To perform commands on a Card, a Transaction must be started. This struct offers low-level access to OpenPGP card functionality.

Enums§

  • Enum wrapper for the different error types of this crate
  • Identify a Key slot on an OpenPGP card
  • OpenPGP card “Status Bytes” (ok statuses and errors)