Re: How to test a build of the FIPS provider

Kenneth Goldman <kgoldman-r/[email protected]> Thu, 26 Mar 2026 18:50:57 +0000
Newsgroups gmane.comp.encryption.openssl.user
Message-ID <SJ0PR15MB52787DE3EDD3BFEAA9D17D81F256A@SJ0PR15MB5278.namprd15.prod.outlook.com>
------=_NextPart_000_004A_01DCBD2F.F2F494E0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_004B_01DCBD2F.F2F494E0"


------=_NextPart_001_004B_01DCBD2F.F2F494E0
Content-Type: text/plain; charset="UTF-8"

Getting back to this, I followed the instructions below. 

> openssl list -providers 
Providers: 
  base 
    name: OpenSSL Base Provider 
    version: 3.6.1 
    status: active 
  fips 
    name: OpenSSL FIPS Provider 
    version: 3.6.1 
    status: active 

How do I ensure that the program uses the fips module? I try: 

    provider = OSSL_PROVIDER_load(NULL, "fips"); 
    irc = EVP_set_default_properties(NULL, "provider=fips"); 
    sha = EVP_MD_fetch(NULL, HASHALG, "fips=yes"); 
    sha = EVP_MD_fetch(NULL, HASHALG, "provider=fips"); 

All of these seem successful, but this NULL is also successful, so 
how do ensure that the fips module is being used? 

    sha = EVP_MD_fetch(NULL, HASHALG, NULL); 

Even though I have a base provider (see above), base fails, with 
or without the OSSL_PROVIDER_load() or OSSL_PROVIDER_load() calls. 

    sha = EVP_MD_fetch(NULL, HASHALG, "provider=base"); 



On 1/28/2026 6:26 PM, Ken Goldman wrote: 

On 1/19/2026 6:49 PM, Ken Goldman wrote: 

Fedora 42, x86 - I built openssl 3.6.1 with enable-fips and got fips.so 

I'd like to test it locally, as non-root, but not install it in the system
area. Are there instructions for this? 

I want to test the EVP API, not TLS or the command line. 

For the record, here are working instructions, creating 
a fips build in myopenssl: 

./config -shared --prefix=/home/kgold/myopenssl --libdir=lib --
openssldir=/home/kgold/myopenssl -Wl,-rpath,$HOME/myopenssl/lib --debug zlib
enable-fips 
make 
     creates 
     ./providers/libfips.a 
     ./providers/fips.so 
make install 
     installs to myopenssl directory 
make test 
make install_fips 
     creates 
     /home/kgold/myopenssl/lib/ossl-modules/fips.so 
     /home/kgold/myopenssl/fipsmodule.cnf 

openssl.cnf 
     add 
         .pragma includedir:/home/myopenssl/ 
     uncomment 
         .include fipsmodule.cnf 
     comment 
         #default = default_sect 
     add 
         base = default_sect 
         fips = fips_sect 
     in default_sect, uncomment 
         activate = 1 

fipsmodule.cnf 
     add 
         module = /home/myopenssl/lib/ossl-modules/fips.so 

LNFLAGS += -L/home/myopenssl/lib -Wl,-rpath=/home/myopenssl/lib -lcrypto 

Test with 
     openssl list -providers 

Providers: 
   base 
     name: OpenSSL Base Provider 
     version: 3.6.1 
     status: active 
   fips 
     name: OpenSSL FIPS Provider 
     version: 3.6.1 
     status: active 




--
Work 1-914-945-2415


-- 
You received this message because you are subscribed to the Google Groups "openssl-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openssl-users+unsubscribe-MCmKBN63+Bmbup2nOX2J7Q@public.gmane.org
To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-users/SJ0PR15MB52787DE3EDD3BFEAA9D17D81F256A%40SJ0PR15MB5278.namprd15.prod.outlook.com.

------=_NextPart_001_004B_01DCBD2F.F2F494E0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version 16.0.19725.2=
0058">
<TITLE>Re: How to test a build of the FIPS provider</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT FACE=3D"Aptos">Getting back to this=
, I followed the instructions below.<BR>
<BR>
&gt; openssl list -providers<BR>
Providers:<BR>
&nbsp; base<BR>
&nbsp;&nbsp;&nbsp; name: OpenSSL Base Provider<BR>
&nbsp;&nbsp;&nbsp; version: 3.6.1<BR>
&nbsp;&nbsp;&nbsp; status: active<BR>
&nbsp; fips<BR>
&nbsp;&nbsp;&nbsp; name: OpenSSL FIPS Provider<BR>
&nbsp;&nbsp;&nbsp; version: 3.6.1<BR>
&nbsp;&nbsp;&nbsp; status: active<BR>
<BR>
How do I ensure that the program uses the fips module? I try:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;provider =3D OSSL_PROVIDER_load(NULL, &quot;fips&qu=
ot;);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;irc =3D EVP_set_default_properties(NULL, &quot;prov=
ider=3Dfips&quot;);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;sha =3D EVP_MD_fetch(NULL, HASHALG, &quot;fips=3Dye=
s&quot;);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;sha =3D EVP_MD_fetch(NULL, HASHALG, &quot;provider=
=3Dfips&quot;);<BR>
<BR>
All of these seem successful, but this NULL is also successful, so<BR>
how do ensure that the fips module is being used?<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;sha =3D EVP_MD_fetch(NULL, HASHALG, NULL);<BR>
<BR>
Even though I have a base provider (see above), base fails, with<BR>
or without the OSSL_PROVIDER_load() or OSSL_PROVIDER_load() calls.<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;sha =3D EVP_MD_fetch(NULL, HASHALG, &quot;provider=
=3Dbase&quot;);<BR>
<BR>
<BR>
<BR>
On 1/28/2026 6:26 PM, Ken Goldman wrote:<BR>
</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT FACE=3D"Aptos">On 1/19/2026 6:49 PM=
, Ken Goldman wrote:<BR>
</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT FACE=3D"Aptos">Fedora 42, x86 - I b=
uilt openssl 3.6.1 with enable-fips and got fips.so<BR>
<BR>
I'd like to test it locally, as non-root, but not install it in the system =
area. Are there instructions for this?<BR>
<BR>
I want to test the EVP API, not TLS or the command line. </FONT></SPAN></P>
<BR>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT FACE=3D"Aptos">For the record, here=
 are working instructions, creating<BR>
a fips build in myopenssl:<BR>
<BR>
./config -shared --prefix=3D/home/kgold/myopenssl --libdir=3Dlib -- openssl=
dir=3D/home/kgold/myopenssl -Wl,-rpath,$HOME/myopenssl/lib --debug zlib ena=
ble-fips<BR>
make<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;creates<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./providers/libfips.a<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./providers/fips.so<BR>
make install<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;installs to myopenssl directory<BR>
make test<BR>
make install_fips<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;creates<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/home/kgold/myopenssl/lib/ossl-modules/fips.s=
o<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/home/kgold/myopenssl/fipsmodule.cnf<BR>
<BR>
openssl.cnf<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .pragma includedir:</FONT>=
</SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=
=3D"en-us"><I><FONT FACE=3D"Aptos">/home/myopenssl/</FONT></I></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FON=
T FACE=3D"Aptos"><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uncomment<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .include fipsmodule.cnf<BR=
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comment<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #default =3D default_sect<=
BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base =3D default_sect<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fips =3D fips_sect<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in default_sect, uncomment<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; activate =3D 1<BR>
<BR>
fipsmodule.cnf<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module =3D /home/myopenssl=
/lib/ossl-modules/fips.so<BR>
<BR>
LNFLAGS +=3D -L/home/myopenssl/lib -Wl,-rpath=3D/home/myopenssl/lib -lcrypt=
o<BR>
<BR>
Test with<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl list -providers<BR>
<BR>
Providers:<BR>
&nbsp;&nbsp; base<BR>
&nbsp;&nbsp;&nbsp;&nbsp; name: OpenSSL Base Provider<BR>
&nbsp;&nbsp;&nbsp;&nbsp; version: 3.6.1<BR>
&nbsp;&nbsp;&nbsp;&nbsp; status: active<BR>
&nbsp;&nbsp; fips<BR>
&nbsp;&nbsp;&nbsp;&nbsp; name: OpenSSL FIPS Provider<BR>
&nbsp;&nbsp;&nbsp;&nbsp; version: 3.6.1<BR>
&nbsp;&nbsp;&nbsp;&nbsp; status: active<BR>
</FONT></SPAN></P>
<BR>
<BR>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT FACE=3D"Aptos">--</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT FACE=3D"Aptos">Work 1-914-945-2415<=
/FONT></SPAN></P>
<BR>

</BODY>
</HTML>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;openssl-users&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:openssl-users+unsubscribe-MCmKBN63+BlAfugRpC6u6w@public.gmane.org">openssl-us=
[email protected]</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/a/openss=
l.org/d/msgid/openssl-users/SJ0PR15MB52787DE3EDD3BFEAA9D17D81F256A%40SJ0PR1=
5MB5278.namprd15.prod.outlook.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/openssl.org/d/msgid/openssl-users/SJ0PR15MB52787=
DE3EDD3BFEAA9D17D81F256A%40SJ0PR15MB5278.namprd15.prod.outlook.com</a>.<br =
/>

------=_NextPart_001_004B_01DCBD2F.F2F494E0--

------=_NextPart_000_004A_01DCBD2F.F2F494E0
Content-Type: application/pkcs7-signature;
	name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="smime.p7s"

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
ggFYMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHVK+TRBSCXdRgoTmhE7O5s21VlGMB8G
A1UdIwQYMBaAFM7DSrmZVfK422C/qX69VrWXNqfWMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAU
BggrBgEFBQcDBAYIKwYBBQUHAwIweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8v
b2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNv
bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RHMi5jcnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2Ny
bDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdEcyLmNybDARBgNVHSAECjAIMAYG
BFUdIAAwDQYJKoZIhvcNAQELBQADggEBAKLlxfZqCW0YlJv/Ialn09bwIKeN+YVMQIqhGnw3XKjS
ngAD0HPQfyUtFt6jA9NJ92cZXUlwbwX5+jTOPePLrx6hiPeN8xcHBc+ybHb6C7ueIt0DQ7S7du/u
biS0CSoM9LyGcIXJ/Leyh1YqBzplxmt6eA573aSLnx4pcgB/27Sb2YUtcLFXWmHgMiDVrtxE5Ozr
nU6TpXM83J3N4J6Ee2x/G2D9I8N8yz7uNnFDFI2LlIOpXJEiw3m0c28kmZpcFrXVV8MbIFvAyCAq
SmTKXtk0rzwMe65KTZRDVOSMDegc0gMWSFXTmi0czrqDacX+QL4rlUhcujVp0BLLy6IpL2YwggZj
MIIES6ADAgECAhAMBDoHrjClI1AA5JSGPgDEMA0GCSqGSIb3DQEBCwUAMGwxCzAJBgNVBAYTAlVT
MTQwMgYDVQQKEytJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uMScw
JQYDVQQDEx5JQk0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRzcwHhcNMjUwNTE5MDAwMDAwWhcN
MjYwNTE4MjM1OTU5WjCBvjEXMBUGA1UEYRMOTlRSVVMrTlktMzAwNTkxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhOZXcgWW9yazEPMA0GA1UEBxMGQXJtb25rMTQwMgYDVQQKEytJbnRlcm5hdGlvbmFs
IEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uMRAwDgYDVQQEEwdHb2xkbWFuMRAwDgYDVQQq
EwdLZW5uZXRoMRgwFgYDVQQDEw9LZW5uZXRoIEdvbGRtYW4wggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCm/akt6vmEkJoHtQ829o7ib3fRt/+QaOZazorL9VIK/FzxleFnXFayeALSwhm+
aCFGBPtJCoj6sCx48VvR3Q0mQ8I/9mz1JPFHIcQdjaQCXOZWkjai3RqJYru9ij0VKXOtAXssH0Wp
EilSXMWVk6iM/iuTBNzJ5ESRYo1DhWwcpQywBU/vE90VysPvfJf3H1C/ChT+lm8Dn1dClbjDhYnn
38xhLp75TX11diZb9lWzYFBgbaYusjJoE4b1vGQ1nogYf8ngP6h5GudPvO0MZGzdkn39sVLsmYYu
0LNPr84a9zOD8K+hi4Qq38KvBqS9eFCZKOQ4ie2QVPdXDjsZbBYRAgMBAAGjggGsMIIBqDAfBgNV
HSMEGDAWgBR1Svk0QUgl3UYKE5oROzubNtVZRjAdBgNVHQ4EFgQUTKxsRNMTE0npUoGWKbb0f/ys
VykwHgYDVR0RBBcwFYETa2dvbGRtYW5AdXMuaWJtLmNvbTAUBgNVHSAEDTALMAkGB2eBDAEFAwEw
DgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMEMIGLBgNVHR8EgYMwgYAwPqA8oDqG
OGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9JQk1DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5RzcuY3Js
MD6gPKA6hjhodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vSUJNQ2VydGlmaWNhdGlvbkF1dGhvcml0
eUc3LmNybDB9BggrBgEFBQcBAQRxMG8wJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0
LmNvbTBHBggrBgEFBQcwAoY7aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0lCTUNlcnRpZmlj
YXRpb25BdXRob3JpdHlHNy5jcnQwDQYJKoZIhvcNAQELBQADggIBAFwJOVX6Gn+uEC5rVwTTzSDI
h8vR+wf40JE2geBtaEmbfv6vcM+7mLfzy30cHMJsg3luMbqEB81MjRSjXvMSzMsvN7rUt9n3OLhf
9b/AE27oFpDLq30gs87y9Qaj1Z/qcJKyUy1O8wiecN3kJNUrucBejtBz5YGNcbdfrrBH/N4XGvmT
8+EttDct8EvfOWhXU88w2l52x/RyYAuwmovlYgFRbXVDXYN9y3gxgZlYWDOCB2/V6Wb8CwKrNYFL
gwwFoiYr0KXS8ibn6I7/Osqlgrkp0/yXly7f5swk2XLl6RvM+2WH7J526rA/f+W+oK4fMMhY+MCS
AqYkAhdlzM02cRhaB5RoGg0HZzWAYccISUd6LvPjkD2v3z8o6EfH1VlzUbnaAg4jkZxSdkQWVY04
hl5zJ+ASZT+RE0uh85t835Z5ZDIG3ZSH5p+PNAcedyAe3C3wgUOwqwkLV6K4bTGZpTAI7kyGvjFE
mKA5N5x78zdEMYYsOOZDR0+tzHG1p7JdkxN2cq042VLKFv7mBmP/zomDlnCSIqgrjGbpvgtIwovk
heQgUBnMnFUJ/EEOU+RqFAzhpTk069cBxOGd0TGxJFhCOOeYvN04PIwH6y3zD9C6n2UZ4hRQyv3N
JykaOe8kh6gelnGo/0a8Kvp6/xm+ZSYhaKVzHdifWONpDKb9Q8cQMYID2TCCA9UCAQEwgYAwbDEL
MAkGA1UEBhMCVVMxNDAyBgNVBAoTK0ludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29y
cG9yYXRpb24xJzAlBgNVBAMTHklCTSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBHNwIQDAQ6B64w
pSNQAOSUhj4AxDANBglghkgBZQMEAgEFAKCCAikwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
BgkqhkiG9w0BCQUxDxcNMjYwMzI2MTg1MDU1WjAvBgkqhkiG9w0BCQQxIgQgSR8GhZYODm95oJ09
jgyV6zra5NpufHfFcXK3Tb+9eH0wgZEGCSsGAQQBgjcQBDGBgzCBgDBsMQswCQYDVQQGEwJVUzE0
MDIGA1UEChMrSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbjEnMCUG
A1UEAxMeSUJNIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEc3AhAMBDoHrjClI1AA5JSGPgDEMIGT
BgkqhkiG9w0BCQ8xgYUwgYIwCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBFjAKBggqhkiG9w0DBzAL
BglghkgBZQMEAQIwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAsGCWCGSAFlAwQCATAL
BglghkgBZQMEAgMwCwYJYIZIAWUDBAICMAcGBSsOAwIaMIGTBgsqhkiG9w0BCRACCzGBg6CBgDBs
MQswCQYDVQQGEwJVUzE0MDIGA1UEChMrSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBD
b3Jwb3JhdGlvbjEnMCUGA1UEAxMeSUJNIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEc3AhAMBDoH
rjClI1AA5JSGPgDEMA0GCSqGSIb3DQEBAQUABIIBAJbauCqC9Mfsz2MHzwrJEAVW9xmeAhtH7QJN
mAxqTyxRXlas77W/xn3yWNA0UI7zuJ/ms2br5WLs0S8h9gh8sv6cUXsG2tbat0kjzGGMntzb38ss
YkgdZhu2NpYsnuQoco0kxbocfFpFCmbM1EhWP6jMWIRbVEqPEt3epV9RLUbrahQZXcPdFdYm+bpq
ny5C1MKW9bLK+/4V+Xy5+H/kcj3k/Tsskw0Lum1RlYvjeDA2yVjDM+O1Qal+i/+yZoxgPnyZhYEq
rz9QgDUWj/C26yqrxRCrvaEM/ipR0qKxFc08SPsDGz5VXE/sJI1lhqS4f+1pHbLAbv/Z9W7+Wpv4
6IgAAAAAAAA=

------=_NextPart_000_004A_01DCBD2F.F2F494E0--