Java has an option to use Microsoft cryptography libraries instead of the built-in cryptography libraries provided by the JDK. We would like to use this feature because the Microsoft code is FIPS validated. In fact once you switch to the Microsoft cryptography libraries, the JVM automatically sets it's "FIPS mode" bit.
Unfortunately when we attempt to use this feature, the SQL Server JDBC driver fails with an exception any time we try to connect to our SQL Server database. Note that in our specific case, we don't actually require that the JDBC connection to SQL Server be encrypted. We are using SSL for server-to-server connections elsewhere in the JVM. However once the JVM switches into FIPS mode, the JDBC driver becomes completely unusable and we cannot connect to any SQL Server database, regardless of whether we connect using encryption or not.
Current workaround is to continue using the SQL Server JDBC driver, but not use the Microsoft cryptography libraries.