Knowledge base

What is not allowed in FIPS mode

FIPS restrictions
A restricted set of algorithms

FIPS mode exists only on Linux, starting with PowerMTA 6.0, and it limits cryptography to a validated set.

What stops working: signing keys shorter than 2048 bits, signing with the SHA-1 algorithm and TLS versions 1.0 and 1.1.

It affects both message signing and the channel: domain-key keys, dkim-algorithm, certificates and TLS version limits are checked before enabling it.

The main trap is a 1024-bit signing key. In FIPS mode such a key is not allowed, and the domain’s message signing stops working right after the mode is enabled.
What the Hub does. The mode is not enabled. Enabling it would narrow the choice of signing and encryption algorithms — that is worth knowing in advance.
Recommended values

What to set before enabling — per the manual’s table:

What What to set
DKIM and ARC signing keys RSA of 2048 bits or more
signing algorithm rsa-sha256
X.509 certificates a key of 2048 bits or more, SHA-256 signature
TLS versions tlsv1.2 or tlsv1.3
The restrictions and recommendations for each capability come from the manual (§ 11.24, § 2.8). The trap analysis is ours.
Example configuration
# before enabling FIPS: signing with the SHA-256 algorithm
<domain *>
    dkim-algorithm rsa-sha256</domain>
The mode itself is enabled by the /var/lib/pmta/fips/fipsmodule.cnf file, not by a configuration line: the procedure is in the entry on enabling FIPS.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
Compatibility
PowerMTA 6.0
described in the manual of this version · linux
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
How to check on the node
Check the signing key length:
openssl rsa -in KEY.pem -noout -text | head -1
The first line prints the key length in bits — less than 2048 is not acceptable in FIPS mode.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Message signing and authentication · Connection encryption