Files
Daniel Golle 952f8de4b5 libp11: update to 0.4.20
0.4.19:
- added native KEYMGMT, SIGNATURE and ASYM_CIPHER operations to the
  PKCS#11 provider, enabling OpenSSL 4.x support and improving RSA
  interoperability
- added support for ML-DSA, SLH-DSA and FALCON key generation, signing
  and verification; PQC key generation examples and provider tests
- added PKCS#11 provider support for ECDH, X25519 and X448 key exchange,
  including X25519/X448 key generation
- improved Ed25519/Ed448 public-key resolution with certificate fallback
- fixed use-after-free crashes after enumerating additional PKCS#11 keys
- fixed a potential out-of-bounds write while parsing PKCS#11 URI
  attributes
- fixed PKCS#11 session, attribute and key-reference leaks

0.4.20:
- added PKCS#11 3.2 interface discovery and updated the bundled header
  to version 3.2
- added PKCS#11 provider support for ML-KEM-512/768/1024 key generation,
  encapsulation and decapsulation
- added PKCS11_evp_pkey_decapsulate() API
- added provider signature AlgorithmIdentifier support, including
  RSA-PSS parameters and correct default salt length handling
- fixed RSA-PSS salt length parsing and spurious OpenSSL errors
- fixed session-pool races and deadlocks during concurrent key
  generation and cryptographic operations
- fixed key-cache and OpenSSL 1.x RSA object use-after-free bugs
- fixed provider EC parameter lifetime handling and resource leaks
  during EC, RSA, EdDSA and XDH operations and context cleanup
- fixed installation of p11_ver.h, required by p11_err.h

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-22 15:58:43 +01:00

63 lines
1.8 KiB
Makefile

#
# Copyright (C) 2011-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libp11
PKG_VERSION:=0.4.20
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://github.com/OpenSC/libp11/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=a125e0310ff10c189fc1b32a9652101486ea94a6b07c677a30e90e3638d2db48
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=libtool
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/libp11
SECTION:=libs
CATEGORY:=Libraries
TITLE:=PKCS#11 wrapper library
URL:=https://www.opensc-project.org/opensc/wiki/libp11
DEPENDS:=+libopenssl +@OPENSSL_ENGINE
CONFLICTS:=engine_pkcs11
endef
define Package/libp11/description
Libp11 is a library implementing a small layer on top of PKCS#11 API
to make using PKCS#11 implementations easier.
endef
CONFIGURE_ARGS += --with-enginesdir=/usr/lib/engines
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libp11.{a,so} $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libp11.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libp11.pc $(1)/usr/lib/pkgconfig/libp11.pc
endef
define Package/libp11/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libp11.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/engines
$(CP) $(PKG_INSTALL_DIR)/usr/lib/engines/*.so* $(1)/usr/lib/engines
$(LN) pkcs11.so $(1)/usr/lib/engines/libpkcs11.so
endef
$(eval $(call BuildPackage,libp11))