On Wed, Jan 08, 2025 at 11:27:50AM +0100, Rouven Czerwinski wrote:
> 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) \
extra backslash -----------^
> +#
> ----------------------------------------------------------------------------
> +# 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
>