Skip to content

docs: Add SYSLIB0064 breaking change – RSACryptoServiceProvider.Encrypt/Decrypt with fOAEP obsolete (.NET 11)#52864

Merged
gewarren merged 5 commits intomainfrom
copilot/remove-obsolete-rsa-methods
Apr 6, 2026
Merged

docs: Add SYSLIB0064 breaking change – RSACryptoServiceProvider.Encrypt/Decrypt with fOAEP obsolete (.NET 11)#52864
gewarren merged 5 commits intomainfrom
copilot/remove-obsolete-rsa-methods

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 3, 2026

Documents the .NET 11 Preview 3 obsoletion of RSACryptoServiceProvider.Encrypt(byte[], bool) and RSACryptoServiceProvider.Decrypt(byte[], bool). These methods implicitly used SHA-1 with OAEP and offered no way to specify a different digest algorithm; callers should migrate to the RSAEncryptionPadding overloads.

New articles

  • docs/core/compatibility/cryptography/11/rsacryptoserviceprovider-encrypt-decrypt-obsolete.md — breaking change article (SYSLIB0064, source incompatible)
  • docs/fundamentals/syslib-diagnostics/syslib0064.md — SYSLIB diagnostic reference with migration table and warning-suppression guidance

Updated articles

  • obsoletions-overview.md — SYSLIB0064 row added to the obsoletion table
  • toc.yml (compatibility) — entry added under .NET 11 › Cryptography
  • 11.md — entry added to the Cryptography breaking-changes index
  • navigate/tools-diagnostics/toc.yml — SYSLIB0064 added to diagnostic navigation

Migration at a glance

Obsolete Replacement
Encrypt(data, fOAEP: true) Encrypt(data, RSAEncryptionPadding.OaepSHA1)
Encrypt(data, fOAEP: false) Encrypt(data, RSAEncryptionPadding.Pkcs1)
Decrypt(data, fOAEP: true) Decrypt(data, RSAEncryptionPadding.OaepSHA1)
Decrypt(data, fOAEP: false) Decrypt(data, RSAEncryptionPadding.Pkcs1)

Where OAEP is in use, RSAEncryptionPadding.OaepSHA256 (or stronger) is recommended over OaepSHA1.


Internal previews

📄 File 🔗 Preview link
docs/core/compatibility/11.md Breaking changes in .NET 11
docs/core/compatibility/core-libraries/11/obsolete-apis.md API obsoletions with non-default diagnostic IDs (.NET 11)
docs/core/compatibility/toc.yml docs/core/compatibility/toc
docs/fundamentals/syslib-diagnostics/obsoletions-overview.md Obsolete features in .NET 5+
docs/fundamentals/syslib-diagnostics/syslib0064.md SYSLIB0064: RSACryptoServiceProvider.Encrypt and Decrypt with fOAEP are obsolete
docs/navigate/tools-diagnostics/toc.yml docs/navigate/tools-diagnostics/toc

…ypt obsolete (SYSLIB0064)

Agent-Logs-Url: https://github.com/dotnet/docs/sessions/bc1664ca-5e7f-4e55-8477-176d61b0e93e

Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove obsolete RSACryptoServiceProvider Encrypt and Decrypt methods docs: Add SYSLIB0064 breaking change – RSACryptoServiceProvider.Encrypt/Decrypt with fOAEP obsolete (.NET 11) Apr 3, 2026
Copilot AI requested a review from gewarren April 3, 2026 21:51
@gewarren gewarren marked this pull request as ready for review April 4, 2026 01:43
@gewarren gewarren requested a review from a team as a code owner April 4, 2026 01:43
@gewarren gewarren requested review from Copilot and vcsjones April 4, 2026 01:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds documentation for the new SYSLIB0064 obsoletion (RSACryptoServiceProvider Encrypt/Decrypt(byte[], bool)), wires the new diagnostic page into navigation, and adds a .NET 11 compatibility page for “non-default diagnostic ID” API obsoletions.

Changes:

  • Added SYSLIB0064 diagnostic reference content with workaround and suppression guidance.
  • Updated SYSLIB navigation and the obsoletions index to include SYSLIB0064.
  • Added a .NET 11 compatibility “custom diagnostic IDs” breaking-change page and linked it from the .NET 11 Core Libraries index/TOC.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
docs/navigate/tools-diagnostics/toc.yml Adds SYSLIB0064 to the diagnostics navigation.
docs/fundamentals/syslib-diagnostics/syslib0064.md New SYSLIB diagnostic reference page for the RSA fOAEP overload obsoletion.
docs/fundamentals/syslib-diagnostics/obsoletions-overview.md Adds SYSLIB0064 row to the SYSLIB obsoletions index table.
docs/core/compatibility/toc.yml Links the new .NET 11 “non-default diagnostic IDs” page under .NET 11 Core Libraries.
docs/core/compatibility/core-libraries/11/obsolete-apis.md New .NET 11 “non-default diagnostic IDs” compatibility page listing SYSLIB0064.
docs/core/compatibility/11.md Adds the new “non-default diagnostic IDs” page to the .NET 11 Core Libraries breaking-changes index.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@gewarren gewarren merged commit 7e55192 into main Apr 6, 2026
11 checks passed
@gewarren gewarren deleted the copilot/remove-obsolete-rsa-methods branch April 6, 2026 01:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Breaking change]: RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods with fOAEP parameter are now obsolete

4 participants