Recently, after turning FIPS mode on in Windows Server Local Policy I was looking for a way to see whether or not SQL Server was actually using FIPS certified cryptographic algorithms. The best way I could find to do this from SQL Server is to attempt to create an Service Broker endpoint with an algorithm that isn’t supported in FIPS mode and see if it fails. Here is the exact command I ran to do the check:
CREATE ENDPOINT BrokerEndpoint STATE=STARTED AS TCP(LISTENER_PORT=9989) FOR SERVICE_BROKER (AUTHENTICATION=WINDOWS, ENCRYPTION=REQUIRED ALGORITHM RC4)
If SQL Server is actually running in FIPS mode this will fail with a FIPS related error message because we attempted to set the algorithm to RC4 which isn’t supported in FIPS mode. When not in FIPS mode this should succeed or fail with a non FIPS related error message.
Don’t forget to delete the endpoint after your test.