Add pkcs11-provider as a new package to support PKCS11 in openssl.
Providers are the new interface for openssl to support this and replace
the old engine interface.

Signed-off-by: Rouven Czerwinski <[email protected]>
---
 rules/pkcs11-provider.in   | 11 +++++++
 rules/pkcs11-provider.make | 59 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 rules/pkcs11-provider.in
 create mode 100644 rules/pkcs11-provider.make

diff --git a/rules/pkcs11-provider.in b/rules/pkcs11-provider.in
new file mode 100644
index 000000000..5f4d920ac
--- /dev/null
+++ b/rules/pkcs11-provider.in
@@ -0,0 +1,11 @@
+## SECTION=security
+
+config PKCS11_PROVIDER
+       tristate
+       select OPENSSL
+       select HOST_MESON
+       default y if ALLYES
+       prompt "PKCS11 Provider               "
+       help
+         A pkcs#11 provider for OpenSSL 3.0+. This will require adjustments
+         to the openssl configuration file.
diff --git a/rules/pkcs11-provider.make b/rules/pkcs11-provider.make
new file mode 100644
index 000000000..61a1d2940
--- /dev/null
+++ b/rules/pkcs11-provider.make
@@ -0,0 +1,59 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Rouven Czerwinski <[email protected]>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PKCS11_PROVIDER) += pkcs11-provider
+
+#
+# Paths and names
+#
+PKCS11_PROVIDER_VERSION        := 0.6
+PKCS11_PROVIDER_MD5    := 7e5dc3c81d12c4670615dbd9a7342248
+PKCS11_PROVIDER                := pkcs11-provider-$(PKCS11_PROVIDER_VERSION)
+PKCS11_PROVIDER_SUFFIX := tar.xz
+PKCS11_PROVIDER_URL    := 
https://github.com/latchset/pkcs11-provider/releases/download/v$(PKCS11_PROVIDER_VERSION)/$(PKCS11_PROVIDER).$(PKCS11_PROVIDER_SUFFIX)
+PKCS11_PROVIDER_SOURCE := 
$(SRCDIR)/$(PKCS11_PROVIDER).$(PKCS11_PROVIDER_SUFFIX)
+PKCS11_PROVIDER_DIR    := $(BUILDDIR)/$(PKCS11_PROVIDER)
+PKCS11_PROVIDER_LICENSE        := Apache-2.0
+PKCS11_PROVIDER_LICENSE_FILES  := 
file://LICENSES/Apache-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+PKCS11_PROVIDER_CONF_ENV := \
+       PTXDIST_PKG_CONFIG_VAR_NO_SYSROOT=modulesdir
+
+#
+# meson
+#
+PKCS11_PROVIDER_CONF_TOOL      := meson
+PKCS11_PROVIDER_CONF_OPT       := \
+       $(CROSS_MESON_USR) \
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/pkcs11-provider.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, pkcs11-provider)
+       @$(call install_fixup, pkcs11-provider,PRIORITY,optional)
+       @$(call install_fixup, pkcs11-provider,SECTION,base)
+       @$(call install_fixup, pkcs11-provider,AUTHOR,"Rouven Czerwinski 
<[email protected]>")
+       @$(call install_fixup, pkcs11-provider,DESCRIPTION,missing)
+
+       @$(call install_copy, pkcs11-provider, 0, 0, 0755, -, 
/usr/lib/ossl-modules/pkcs11.so)
+
+       @$(call install_finish, pkcs11-provider)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.39.5


Reply via email to