Commit Graph
363 Commits
Author SHA1 Message Date
Suyog Tandel c71d2b0820 chore(fmt): run cargo fmt with latest rustc 2026-07-28 15:21:17 +05:30
Maxim Muravev e54442803c fmt: Run cargo fmt 2026-07-27 20:41:50 +03:00
Maxim Muravev d321a57b6b feat(ui): RS-Key applet + management screens
The GUI for everything the new HAL exposes, plus a reorganised
configuration surface:

- Applet screens: Accounts (OATH, live TOTP), Slots (OTP), PIV and OpenPGP
  — ykman / Yubico-Authenticator-parity management, each gated by an
  `AppletGate` (CCID off / applet disabled / not supported).
- Management screens: Audit (journal, checkpoint verify, on/off toggle),
  Backup, Lock, Attestation and Offboard.
- Sidebar grouped into Device / Credentials / Protection / System sections,
  with Offboard moved down to just above About.
- Configuration: an editable Manufacturer field; the effective LED pin /
  driver and touch timeout shown as placeholders instead of a bare
  "firmware default"; a single Apply that writes every changed domain in
  one ceremony; Hardware Endpoints trimmed to the interfaces the firmware
  actually builds (CCID/HID/KB); the LED-driver list without ESP32 on
  RS-Key.
- Home surfaces the real firmware version, manufacturer, storage and the
  effective LED / timeout values.
2026-07-25 14:17:36 +03:00
Maxim Muravev de154183c9 feat(hal): RS-Key CCID applets + FIDO vendor management
Host-side protocol layer for the full RS-Key applet and management
surface, each codec written against the current firmware's wire contract:

- CCID foundation: ISO-7816 APDU + BER-TLV codecs (`apdu/`), a persistent
  `CcidSession` with 61xx/6Cxx assembly and CLA-chaining
  (`transport/ccid.rs`), and a firmware-agnostic `AppletProfile`
  (`firmwares/applets.rs`) so support gating is per-firmware, not baked in.
- Applet clients (`applets/`): OATH (YKOATH), OTP (YubiKey slots), PIV,
  OpenPGP. OATH LIST / CALCULATE ALL page via SEND REMAINING (0xA5), not
  ISO GET RESPONSE; PIV CHANGE REFERENCE sends the 8-byte-padded block and
  supports the ykman `--protect` PIN-fetched management key (`MgmAuth`);
  OTP pads the HMAC challenge to a 64-byte frame and threads a slot access
  code through delete/swap.
- FIDO vendor management (`fido/{audit,backup}.rs`, `offboard.rs`): the
  tamper-evident audit journal (read / verify / enable-disable via
  `VENDOR_AUDIT_CONFIG`), seed backup, soft-lock, enterprise attestation
  and offboard, over the CTAPHID 0x41 channel.
- Config over FIDO/rescue: the runtime manufacturer string (phy tag 0x0F),
  the boot-effective LED pin/driver + touch timeout the device reports in
  CONFIG_READ key 2, a single write orchestrator (`write_all_config`), and
  treating an absent USB_ENABLED mask as all-enabled.
2026-07-25 14:17:36 +03:00
Maxim Muravev 4ce855cb7f chore(deps): add bip39 for RS-Key seed backup
The RS-Key FIDO seed-backup export renders the master seed as a 24-word
BIP-39 mnemonic; add the `bip39` crate for the word-list codec.
2026-07-25 14:17:35 +03:00
Suyog TandelandGitHub 4b16c4754b Merge pull request #110 from librekeys/ci/update-nix-channel
ci: update nix channel and action versions
2026-07-23 15:15:52 +05:30
jetcookies e3e6562735 ci: update nix channel and action versions
- Update nixpkgs channel from nixos-25.11 to nixos-26.05
- Bump actions/checkout from v6 to v7
- Bump cachix/cachix-action from v16 to v17
- Bump gepbird/nix-update-action from v2.1.1 to v3.1.0
- Remove schedule trigger from binary-cache workflow to avoid redundant builds (push to main already triggers the same cache)
2026-07-23 08:38:47 +08:00
Suyog Tandel eebcc6617d ci(fix): appimage build script metainfo asset 2026-07-21 16:06:19 +05:30
Suyog TandelandGitHub d4130ad002 Merge pull request #109 from librekeys/ci/drop-deb-pkg-support
Drop packaging and release of .deb and .tar.gz pkgs
2026-07-21 15:36:48 +05:30
Suyog Tandel 6abb460096 ci: drop .deb and .tar.gz pkgs from releases 2026-07-21 15:35:12 +05:30
Suyog TandelandGitHub 65003a0956 Merge pull request #108 from librekeys/ci/auto-update-appimages
Support for Auto-Updating AppImages.
2026-07-21 11:04:38 +05:30
Suyog Tandel 28963093c9 refactor: flatpak build script 2026-07-21 00:33:12 +05:30
Suyog Tandel a9e95ca2cb ci[release]: refactor appimage build script to include appimage auto update info 2026-07-21 00:23:16 +05:30
Suyog TandelandGitHub ac0a29895f Merge pull request #107 from librekeys/ci/improved-appimage-builds
ci/cd: new improved appimage builds for picoforge release workflow
2026-07-20 21:26:39 +05:30
Suyog Tandel b11b5baa9f ci/cd: new improved appimage builds for picoforge release workflow 2026-07-20 21:04:02 +05:30
Suyog Tandel d3c41a8f6d chore: clean unused workflows 2026-07-20 19:19:49 +05:30
Suyog Tandel 74eff4a1aa docs: update installation guide for openSUSE Tumbleweed 2026-07-20 01:29:16 +05:30
Suyog TandelandGitHub 906c8fa6bf Merge pull request #105 from librekeys/spec-sync/0.7.1-1
chore: sync spec to 0.7.1-1
2026-07-20 00:32:50 +05:30
Suyog Tandel 9e81973ee0 Automatic commit of package [picoforge] release [0.7.1-1].
Created by command:

/usr/bin/tito tag --offline --accept-auto-changelog --keep-version
picoforge-0.7.1-1
2026-07-19 18:56:45 +00:00
Suyog Tandel 0f8a09094a chore: sync spec to 0.7.1-1 [skip ci] 2026-07-19 18:56:44 +00:00
Suyog Tandel 58b3a480f7 feat: update flathub metainfo and increment app ver to 0.7.1 v0.7.1 2026-07-19 23:56:47 +05:30
Suyog TandelandGitHub d8c012d536 Merge pull request #104 from librekeys/spec-sync/0.7.0-2
chore: sync spec to 0.7.0-2
2026-07-19 23:30:10 +05:30
Suyog Tandel a683307991 Automatic commit of package [picoforge] release [0.7.0-2].
Created by command:

/usr/bin/tito tag --offline --accept-auto-changelog --keep-version
picoforge-0.7.0-2
2026-07-19 17:51:24 +00:00
Suyog Tandel 22feb92bdd chore: sync spec to 0.7.0-2 [skip ci] 2026-07-19 17:51:24 +00:00
Suyog Tandel afb316e41b feat: add wiki button in about screen and update application description v0.7.0 2026-07-19 22:36:24 +05:30