Re: Replace current implementations in crypt() and gen_salt() to OpenSSL

From: Daniel Gustafsson <daniel(at)yesql(dot)se>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, "Koshi Shibagaki (Fujitsu)" <shibagaki(dot)koshi(at)fujitsu(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Replace current implementations in crypt() and gen_salt() to OpenSSL
Date: 2024-12-04 15:01:06
Message-ID: 79886AEA-F830-43BB-99FB-B3D0D49832C6@yesql.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 4 Dec 2024, at 15:52, Joe Conway <mail(at)joeconway(dot)com> wrote:
>
> On 12/4/24 09:45, Daniel Gustafsson wrote:
>>> On 4 Dec 2024, at 15:40, Joe Conway <mail(at)joeconway(dot)com> wrote:
>>> On 12/4/24 09:33, Daniel Gustafsson wrote:
>>>> since OpenSSL 1.1.1 cannot operate in FIPS mode.
>>> I don't think that is correct. The RHEL 8 openssl which was FIPS 140-2 validated is 1.1.1k. See:
>>> https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp4642.pdf
>> Does RHEL publish the source of their fork somewhere? In OpenSSL 1.1.1 the
>> code for FIPS_mode is:
>> int FIPS_mode(void)
>> {
>> /* This version of the library does not support FIPS mode. */
>> return 0;
>> }
>> Do you know if RHEL patched OpenSSL to allow FIPS_mode() to return other than 0
>> or if that function is useless regardless?
>
> Yes the RHEL and OpenSUSE rpms for openssl are heavily patched for the FIPS versions, as is the Ubuntu one. It has been a while but last time I looked at all of this they were all using very similar patches to allow the "system wide" FIPS mode rather than depending on the app to explicitly go into FIPS_mode().
>
> I can look for links, but investigating it involved (for example) installing the source rpm and then wading through hundreds of patches in the SOURCE directory.

While I dislike not having a "follow-the-lib" setting on the GUC and rely on
the transitive dependency, maybe that's the only option if we can't reliably
detect the operating mode. Sigh, as if OpenSSL wasn't messy enough even
without vendor patches =)

--
Daniel Gustafsson

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bertrand Drouvot 2024-12-04 15:20:03 Re: Missing LWLock protection in pgstat_reset_replslot()
Previous Message Kirill Reshke 2024-12-04 14:53:04 Add pg_stat_progress_rewrite view.