Skip to content

Coinkite Tap Protocol implementation for use with SATSCARD™ and TAPSIGNER™ products

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

notmandatory/rust-cktap

rust-cktap

License CI Audit rustc

A Rust implementation of the Coinkite Tap Protocol (cktap) for use with SATSCARD, TAPSIGNER, and SATSCHIP products.

This project provides PC/SC APDU message encoding and decoding, cvc authentication, certificate chain verification, and card response verification.

It is up to the crate user to send and receive the raw cktap APDU messages via NFC to the card by implementing the CkTransport trait. An example implementation is provided using the optional rust pcsc crate. Mobile users are expected to implement CkTransport using the iOS or Android provided libraries.

Supported Features

Shared Commands

SATSCARD-Only Commands

TAPSIGNER-Only Commands

Automated Testing with Emulator

  1. Install dependencies for cktap emulator
  2. run tests with emulator: just test

Manual Testing with real cards

Prerequisites

  1. USB PCSC NFC card reader, for example:
  2. Coinkite SATSCARD, TAPSIGNER, or SATSCHIP cards Install vendor PCSC driver
  3. Connect NFC reader to desktop system
  4. Place SATSCARD, TAPSIGNER, or SATSCHIP on reader

Run CLI

cargo run -p cktap-cli -- --help
cargo run -p cktap-cli -- certs
cargo run -p cktap-cli -- read

Minimum Supported Rust Version (MSRV)

This library should always compile with any valid combination of features on Rust 1.85.0.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Coinkite Tap Protocol implementation for use with SATSCARD™ and TAPSIGNER™ products

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages