[PATCH v3] Add support for OpenSSL Provider API
Eddie Kovsky
ekovsky at redhat.com
Mon Apr 27 22:43:40 CEST 2026
On 04/13/26, Tom Rini wrote:
> On Fri, Apr 10, 2026 at 07:02:57PM -0600, Eddie Kovsky wrote:
> > --->8
> > > > I finally got to the bottom of this. Debian/Ubuntu ship OpenSSL backends
> > > > separately. The CI environment is missing the 'pkcs11-provider'
> > > > package, which is causing the binman tests to fail.
> > > >
> > > > $ apt show pkcs11-provider
> > > > Package: pkcs11-provider
> > > > Version: 1.0-3
> > > > Priority: optional
> > > > Section: libs
> > > > Maintainer: Luca Boccassi <bluca at debian.org>
> > > > Installed-Size: 410 kB
> > > > Depends: libc6 (>= 2.34), libssl3t64 (>= 3.0.7~)
> > > > Homepage: https://github.com/latchset/pkcs11-provider
> > > > Download-Size: 125 kB
> > > > APT-Manual-Installed: yes
> > > > APT-Sources: http://ftp.debian.org/debian stable/main amd64 Packages
> > > > Description: OpenSSL 3 provider for PKCS11
> > > > With this provider for OpenSSL you can use the OpenSSL library
> > > > (version 3) and command line tools with any PKCS11 implementation as
> > > > backend for the crypto operations.
> > > >
> > > > With this package installed the SSL errors logged on Azure are no longer reproducible.
> > > >
> > > > The results from the first pipeline expired while I was investigating
> > > > this. I reran the CI job so you can see the error messages.
> > > >
> > > > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=13035&view=logs&j=c59aff74-743b-5f08-f408-4a608a489153&t=f2ea3536-b291-5a39-ad92-0220c9b8101a
> > > >
> > > > I have looked into the .azure-pipelines.yml file, but it's not clear to
> > > > me how to configure the CI to install extra packages.
> > >
> > > Ah, OK. So the package needs to be added to tools/docker/Dockerfile (and
> > > doc/build/gcc.rst). For testing changes out, you can then modify
> > > .azure-pipelines.yml to point at your image, rather than the default
> > > image. Or hack in a "sudo apt-get update && sudo apt-get install ..." to
> > > the job.
> > >
> > > --
> > > Tom
> >
> > Hi Tom
> >
> > Updating the dockerfile and documentation was easy enough, but I was
> > still seeing the Azure pipeline fail with the same errors. It seems to
> > be ignoring the updated dockerfile.
> >
> > After digging through the pipeline logs I noticed that Azure is using
> > the Windows Subsystem for Linux with Arch Linux to set up the test
> > environment. The package name 'pkcs11-provider' is even the same on
> > Arch, so I added that to .azure-pipelines.yml.
> >
> > https://archlinux.org/packages/extra/x86_64/pkcs11-provider/
> >
> > And the Azure pipeline now fails because it reports the package doesn't
> > exist.
> >
> > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=13066&view=logs&j=8222cf02-b5ce-5040-5def-6173bf341f71&t=5f6e674b-07e4-5ce5-77ac-ecaae7331dd8
> >
> > I am not an expert in these CI systems, so I'm not sure what else can be
> > done to change the test environment.
>
> So, I see two problems. One is the failure on Windows hosts. Perhaps
> https://www.msys2.org/docs/package-management/ has some hints on how to
> find out where it's looking for packages and if that's packaged in turn?
> The other is that the binman test suites are still failing, on Linux.
>
> --
> Tom
Okay, I see now that MSYS2 is really a package management tool for
Windows that happens to reuse some of the tools from Arch Linux. But it
doesn't package pkcs11-provider. The only pkcs11 package available is
pkcs11-helper, which is a different upstream and does not resolve the
binman failures on Azure.
https://packages.msys2.org/base/mingw-w64-pkcs11-helper
I will include the Dockerfile update adding pkcs11-provider when I send
v4, which should resolve the errors on Linux. But at this point I've
done all I can to resolve the issues with CI.
Eddie
More information about the U-Boot
mailing list