Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Akka.Net With Cluster on a server with FIPS-Compliance causes an exception and Akka fails to run #4082

Open
scptre opened this issue Dec 3, 2019 · 5 comments

Comments

@scptre
Copy link

scptre commented Dec 3, 2019

Hi Everyone,

We are running into an issue with the implementation of the vector clock used in the Akka.Cluster.dll. If you try and run in a FIPS Compliant server where the Hash Algorithms are limited an exception is throw because MD5 is not FIPS compliant and the vector clock relies on MD5 Hashing.

@Aaronontheweb
Copy link
Member

I had to look up FIPS compliance - we might be able to fix this, although doing it in a non-breaking way might be tricky. This is Windows-only, correct?

@scptre
Copy link
Author

scptre commented Dec 11, 2019

I believe so but I am sure there is some Linux US government regulations that force the use of certain hashing algorithms if not at the operating system level at least in writing

@Aaronontheweb
Copy link
Member

Aaronontheweb commented Feb 19, 2020

Looks like it should be easier to test for this as of Visual Studio 16.4 https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#--visual-studio-2019-version-164

@scptre
Copy link
Author

scptre commented May 2, 2022

@Aaronontheweb are you ok with replacing the MD5 hash used in the vector clock from the dotNet SDK to a custom MD5 hash implementation to get around the FIPS os flag which throws an exception when you try to instantiate the MD5 in the dotNET SDK?

@Aaronontheweb
Copy link
Member

@scptre if you can send in a pull request with those changes, I'll let you know - conceptually fine with it, but it might cause a rolling upgrade in Akka.Cluster to go nuts possibly. I'll just need to test it to verify it, which we can easily do now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants