On Mon, Feb 24, 2025 at 05:53:46PM +0000, Aoife Moloney via devel-announce 
wrote:
> Wiki - https://fedoraproject.org/wiki/Changes/OpensslNoBuildEngine
> Discussion thread -
> https://discussion.fedoraproject.org/t/f43-change-proposal-disabling-support-of-building-openssl-engines-system-wide/145922
> 
> This is a proposed Change for Fedora Linux.
> This document represents a proposed Change. As part of the Changes
> process, proposals are publicly announced in order to receive
> community feedback. This proposal will only be implemented if approved
> by the Fedora Engineering Steering Committee.
> 
> 
> == Summary ==
> 
> We disable support of building engines in OpenSSL and remove the
> deprecated openssl-devel-engine subpackage.
> 
> == Owner ==
> 
> * Name: [[User:Dbelyavs| Dmitry Belyavskiy]]
> * Email: dbely...@redhat.com
> 
> 
> 
> == Detailed Description ==
> We are going to build OpenSSL without engine support. Engines are not
> FIPS compatible and corresponding API is deprecated since OpenSSL 3.0.

When a host is in FIPS mode, presumably openssl should already
automatically disable all functionality that isn't FIPS compatible.

Given that the symbols are intended to remain present in the ABI
it doesn't seem like this change would have any impact on FIPS
compatibility of openssl itself either way.

Any FIPS issues have to be solved in apps consuming OpenSSL, changing
their code to stop using the engine API, which can be done regardless
of this change.

> The engine functionality we are aware of (PKCS#11, TPM) is covered by
> providers. The package necessary to build engines
> (openssl-devel-engine) is already declared as deprecated and will be
> removed. For the applications that still unconditionally refer to
> openssl/engine.h we will provide a dummy engine.h file

Is this proposed dummy engine.h a Fedora downstream invention or
something upstream does when engines are disabled ?

Providing a dummy engine.h that does not actually contain any of
the definitions that engine.h is supposed to provide feels like
the kind of thing we should not do downstream only. It is liable
to break any configure time checks that look for engine.h as a
witness for being able to build engine support.

> == Feedback ==
> 
> 
> == Benefit to Fedora ==
> We get rid of deprecated functionality and enforce using up-to-date
> API. Engine support is deprecated in OpenSSL upstream, and after
> provider migration caused some deficiencies with engine support. No
> new features will be added to the engine. So we reduce the maintenance
> burden and potentially attack surface.

Below it is said that the symbols remain present in the library, so
the attack surface remains unchanged AFAICS. Assuming it is intended
to keep the symbols functional, the maint burden doesn't seem
appreciably different either.

Removing the engine support in Fedora, prior to upstream removing it,
seems likely to increase the maint burden for others, by creating
a Fedora-only compatibility problem for people wanting to build code
that references the engine functionality.

> == How To Test ==
> 
> Applications using OpenSSL ENGINE API can't be built.
> ENGINE API is still exported by libcrypto.
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to