-
Notifications
You must be signed in to change notification settings - Fork 5k
SmtpClient docs recommend a third-party library that is not FIPS-compliant #114712
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
Comments
This user has feedback related to the |
@AnthonyMastrean I transferred your issue to the SDK repo as they would be better suited to help you. From the docs perspective there isn't much we can do. If the
Hopefully they can help with either of those two solutions. |
Thank you. It doesn't seem like no. 1 would be a priority, but the SDK team would know best and we're definitely approaching no. 2 on our end. I filed the issue in the docs repository because it seemed like the recommendation/endorsement worked against the linked FIPS documentation and the approach of the .NET framework in general. |
Old issue triage: Probably libraries should weigh in here on the recommended way to do this and how to update our docs. There may also be a better solution since this was originally filed. |
Tagging subscribers to this area: @dotnet/ncl |
I don't think there is anything to do on the .NET side. The 3rd-party libraries .NET recommends don't have to provide the same feature set that .NET provides. |
Issue description
.NET manages FIPS compliance by passing "cryptographic primitives calls through to the standard modules the underlying operating system provides". This is the case for the entire standard library on Linux and Windows.
https://docs.microsoft.com/en-us/dotnet/standard/security/fips-compliance
However, on the SmtpClient docs, you recommend MailKit (and other libraries) that do not make the same choices or guarantees.
https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.smtpclient?view=net-5.0#remarks
MailKit depends on MimeKit which depends on Bouncy Castle, which reimplements cryptographic primitives instead of targeting the "standard modules the underlying operating system provides". Bouncy Castle is FIPS-validated on a 5-year-old version of their library targeting .NET 4.5.2.
https://www.bouncycastle.org/fips-csharp
Target framework
dotnet --info output or About VS info
<replace>
The text was updated successfully, but these errors were encountered: