status-lib/types/keycard.nim

32 lines
833 B
Nim
Raw Normal View History

Keycard initial integration (#63) * add nim-keycard-go to makefile * fix keycard-go build * add keycard.nim * remove test make task * remove debug line from makefile * fix import keycard_go * add keycard-go to .PHONY * add keycard start/stop/select methods * use https url for submodule * add KeycardApplication info and return it from select * update nim-keycard-go version * fix select return type * actually return the result * update nim-keycard-go * add keycard methods to backend * add base/mock keycard backends * imports * export keycard methods in backend * update start/stop keycard implementation * add KeycardStarted signal * fix keycard started signal * rename to KeycardConnected signal * fix keycard signal renamed * add keycardgo in makefile tasks * add back build/.gitignore * fix .gitignore * fix .gitignore * Makefile: export keycard vars * add keycard lib to nimble file * use spaces instead of tabs in non-recipe sections of Makefile * use install_name_tool on libkeycard on macOS * in GHA ubuntu environment install libpcsclite-dev with apt at start of workflow * add Keycard exceptions * remove useless test * remove useless return * move keycard types to /types * reraise exception from status/keycard.nim * remove unused import * add keycard commands: opensecure channel, pair, verify pin, export key * fix last keycard commands * add exportKey params * update nim-keycard-go Co-authored-by: Michele Balistreri <michele@bitgamma.com> Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2021-10-04 21:21:07 +00:00
type KeycardException* = ref object of Exception
error*: string
type KeycardStartException* = ref object of KeycardException
type KeycardStopException* = ref object of KeycardException
type KeycardSelectException* = ref object of KeycardException
type KeycardPairException* = ref object of KeycardException
type KeycardOpenSecureChannelException* = ref object of KeycardException
type KeycardVerifyPINException* = ref object of KeycardException
pinRetry*: int64
type KeycardExportKeyException* = ref object of KeycardException
type KeycardApplicationInfo* = ref object
installed*: bool
initialized*: bool
instanceUID*: string
secureChannelPublicKey*: string
version*: int64
availableSlots*: int64
keyUID*: string
capabilities*: int64
type KeycardPairingInfo* = ref object
key*: string
index*: int64