Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x9qRa-00000002G12-0zuq for pgsql-general@arkaria.postgresql.org; Thu, 24 Sep 2026 20:53:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1x9qRZ-0000000Ejhf-1lZT for pgsql-general@arkaria.postgresql.org; Thu, 24 Sep 2026 20:53:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x9qRY-0000000EjhT-3sve for pgsql-general@lists.postgresql.org; Thu, 24 Sep 2026 20:53:25 +0000 Received: from mail-yx2-x10.google.com ([2607:f8b0:4864:41::10]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1x9qRW-000000017tz-0xAw for pgsql-general@lists.postgresql.org; Thu, 24 Sep 2026 20:53:24 +0000 Received: by mail-yx2-x10.google.com with SMTP id 00721157ae682-85d4eb63f16so1706667b3.0 for ; Thu, 24 Sep 2026 13:53:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; t=1790283200; x=1790888000; darn=lists.postgresql.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=4hyrzC28NpXEXSuanf16CyVPPz6tP3PqreXAyZo2GRw=; b=NkIMdUBJypxtYoEVgax5jBzSFW72d6qoA2tBQFJE5Mbc4UFV86vU17Nnnzes+nJ3T4 PH6WUYQKvy9/C14OeiI3Ox3Srz9BzwGmVUg5FHDdH1cC7TFDUZ7nx9k1ru8CPeSWPLup icLOW04M0GeJAtQH3aaJBTNltBXw4vH5ZXh401qs0BhvDF6fpiS8UxRtMHv+vYX63OHO 62VQi4Ru0Qm5qtj3bXy5+/fRXdM5or+DkwlJYrJHr4jaR3Ptnq3DlF4q0IikX9kekHxo eI4sBDGDTaft4dypOciQFRRjWreXKh9ZgiZgdSQ4+HNnxJLTNMfKb7lqmP6iD8Om1kcL VeCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790283200; x=1790888000; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=4hyrzC28NpXEXSuanf16CyVPPz6tP3PqreXAyZo2GRw=; b=vSO5wrfai/kNTVgYOvNPLLHkcKjQuUlDKSe5A+nDcV2Y8PnPYwMjZGvOwzEyLiSD6N IMuzRjPKUS9W+x5Z+1dY3tkXCJ7Sj03f+WRn4WExGfvaWbUCkwmAU/J5QbDUfW2Jm5zW HrwqsUE3kQcrdI1v220ZwpXUfGf2spiKDaBRjWwJiHoihR3HwIwswD4bB3f8nEvfAde3 xiSHOsxPntXXvAYIJ212h68HP/jVnRb9cA9FCD8Z8y6dR/Z+D+ebVFZIuf/zUNVLsOOB xYQf2x4pB5Z3j4uOEiiG2saTHUdU+zZLOgcJfp2gjbcsxiQfULJ5JROVxUvDdxnIt0Xd aOqw== X-Forwarded-Encrypted: i=1; AKwUvBz7Lkx7cRoIAvbPhjMYXvVG4Q+1uLEUJQlJCzhC7jGVx0bCk25QVmjzyVA/i48+TtN1OgqJ9frymQVPnJbz@lists.postgresql.org X-Gm-Message-State: AFuF++lSml7yc0dYy6XL/LNhNqmQwfHrIKNUysFf0bjHV/v+3tiI3hzI VEGHmh18GuLeqK++txUsfaEqPOYVj6lXMRbhrM4lkvouKnb7Thf6lhHMB1oGkH+ilHE= X-Gm-Gg: AYBFou1+yYqI/WW0r8beE2h/g5rRVEdXA4FsFIQntEMRFG8110gsUXlZpDNhLoUFus9 Jxga8i6y9WY6+tTThvHM7Trma916st2ZrlkPRyERwtE1uL/P51vokx2jnB5txDewGFKNdOENdMv Z1G2U6nRU8c6yEwy0wiHHlUUST01Ssu6rNQU4DzoDEUv/uBldWFhJZSyNL+gqkl1F4bzf5jbzf6 kozR/EdOoNURC+tIzsREX8KwlyRNYi1wZA8VrRuTnfjUxvjz+ItNXsK7qUBYsmLlygJ7vRvuAAM LEUmMf+YDq2Exl+OgyuGz0JUboCM4MnESgvY5LoT2yaN12gInRgG/b0B1u7TOyp/qlZZkPh7la+ /Ew7WSYcNSmL+QwvzzR6M6bZGZoAa6boDJDKxuFY7JbxdXtiK7lA4vq3rlHD6WS9MD5f9ipevh5 ytO6mzw9iDXbpdu+FVXQT0yXrvp4w325DIlnKa1hH7dSs8lamVq6e8XwVi1LMfDv46Wfk1sHe0 X-Received: by 2002:a05:690c:34c9:b0:886:8c4d:21ea with SMTP id 00721157ae682-8a64fb8af6emr23065197b3.35.1790283200305; Thu, 24 Sep 2026 13:53:20 -0700 (PDT) Received: from [192.168.4.42] ([46.110.138.68]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8a860e5a40esm1727157b3.9.2026.09.24.13.53.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 24 Sep 2026 13:53:19 -0700 (PDT) Message-ID: <29961e58-b60e-4bbb-97f6-d558a07371cc@joeconway.com> Date: Thu, 24 Sep 2026 16:53:18 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: PostgreSQL 18 FIPS mode in Windows To: Daniel Gustafsson , Tom Lane Cc: sutyak , "pgsql-general@lists.postgresql.org" References: <13DyT-dt7PRebAXIz_sNbi_b620YX_uKUa-PhyJeyx2wAEV_R-ECdopU7jCioVHbhQx_oG-Ne18GP2CJEnVYRLsvMenSM5QN23gssgsYuoU=@proton.me> <1814989.1790280801@sss.pgh.pa.us> Content-Language: en-US From: Joe Conway In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 9/24/26 16:16, Daniel Gustafsson wrote: >> On 24 Sep 2026, at 22:13, Tom Lane wrote: >> >> sutyak writes: >>> The steps I have already taken are: >> >>> - Install PostgreSQL 18.6 windows-x64 >>> - Install OpenSSL 3.5.8 with FIPS Provider 3.1.2 >>> - Enable pgcrypto extension via pgAdmin >>> - set builtin_crypto_enabled to 'fips' >>> - Executing SELECT fips_mode(); always returns false. >>> - Verified FIPS is not being enforced by executing SELECT encode(digest('test', 'md5'), 'hex'); and it always returns a value. >> >>> What am I missing? Thank you, >> >> 'builtin_crypto_enabled = fips' merely tells pgcrypto to expect >> failure of relevant calls. It does not cause OpenSSL to actually >> go into FIPS mode. You'd have to consult the OpenSSL docs to >> find out how to do that. > > +1. You need to enable the FIPS provider in openssl.conf and make sure to > disable the legacy provider. The builtin_crypto_enabled setting simply makes > sure to never call non-FIPS certified crypto when OpenSSL is operating in fips > mode, you can also set it to 'off' and disallow non-FIPS certified crypto > regardless. Also to be clear, the distributor of the openssl library used must get their specific bits validated in order to be actually FIPS compliant if compliance is what you are after. -- Joe Conway PostgreSQL Contributors Team Amazon Web Services: https://aws.amazon.com