mbox series

[0/5] Turris ECDSA signatures via keyctl()

Message ID 20250204131415.27014-1-kabel@kernel.org (mailing list archive)
Headers show
Series Turris ECDSA signatures via keyctl() | expand

Message

Marek BehĂșn Feb. 4, 2025, 1:14 p.m. UTC
Hi Arnd et al.,

this series adds support for generating ECDSA signatures with hardware
stored private key on Turris Omnia and Turris MOX.

This ability is exposed via the keyctl() syscall.

Patch 1 does a small refactor in the turris-omnia-mcu driver - a piece
of code is moved to a separate function so that it can be reused in
patch 3.

Patch 2 adds a new helper module turris-signing-key, which helps
exposing the signing ability via the keyctl() syscall.

Patch 3 adds the functionality into the turris-omnia-mcu driver.

Patch 4 removes the old debugfs implementation of this functionality
from turris-mox-rwtm driver. The debugfs implementation was intended
to be temporary until a better userspace interface was introduced.

Patch 5 adds the functionality into the turris-mox-rwtm driver.

Marek

Marek BehĂșn (5):
  platform: cznic: turris-omnia-mcu: Refactor requesting MCU interrupt
  platform: cznic: Add keyctl helpers for Turris platform
  platform: cznic: turris-omnia-mcu: Add support for digital message
    signing with HW private key
  firmware: turris-mox-rwtm: Drop ECDSA signatures via debugfs
  firmware: turris-mox-rwtm: Add support for ECDSA signatures with HW
    private key

 .../ABI/testing/debugfs-turris-mox-rwtm       |  14 -
 .../testing/sysfs-firmware-turris-mox-rwtm    |   9 -
 MAINTAINERS                                   |   1 +
 drivers/firmware/Kconfig                      |  17 ++
 drivers/firmware/turris-mox-rwtm.c            | 260 +++++++++---------
 drivers/platform/cznic/Kconfig                |  17 ++
 drivers/platform/cznic/Makefile               |   3 +
 .../platform/cznic/turris-omnia-mcu-base.c    |   4 +
 .../platform/cznic/turris-omnia-mcu-gpio.c    |  21 +-
 .../platform/cznic/turris-omnia-mcu-keyctl.c  | 162 +++++++++++
 .../platform/cznic/turris-omnia-mcu-trng.c    |  17 +-
 drivers/platform/cznic/turris-omnia-mcu.h     |  33 ++-
 drivers/platform/cznic/turris-signing-key.c   | 192 +++++++++++++
 include/linux/turris-signing-key.h            |  33 +++
 14 files changed, 608 insertions(+), 175 deletions(-)
 delete mode 100644 Documentation/ABI/testing/debugfs-turris-mox-rwtm
 create mode 100644 drivers/platform/cznic/turris-omnia-mcu-keyctl.c
 create mode 100644 drivers/platform/cznic/turris-signing-key.c
 create mode 100644 include/linux/turris-signing-key.h