Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions docs/standard/library-guidance/strong-naming.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,13 @@ You should strong name your open-source .NET libraries if their targets include

✔️ CONSIDER strong naming your library's assemblies.

✔️ CONSIDER adding the strong naming key to your source control system.
✔️ CONSIDER adding the strong naming key pair (public+private) to your source control system.

> A publicly available key lets developers modify and recompile your library source code with the same key.
> A publicly available key pair lets developers modify and recompile your library source code with the same key.
>
> You shouldn't make the strong naming key public if it has been used in the past to give special permissions in [partial-trust scenarios](/previous-versions/dotnet/framework/code-access-security/using-libraries-from-partially-trusted-code). Otherwise, you might compromise existing environments.
> You shouldn't make the strong naming key pair public if it has been used in the past to give special permissions in [partial-trust scenarios](/previous-versions/dotnet/framework/code-access-security/using-libraries-from-partially-trusted-code). Otherwise, you might compromise existing environments.
>
> If you cannot check in the public+private key pair, then check in the public key, and use [public signing](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/security#publicsign) for regular builds. Public signing will still allow developers to recompile and use your library in most scenarios.

> [!IMPORTANT]
> When the identity of the publisher of the code is desired, [Authenticode](/windows-hardware/drivers/install/authenticode) and [NuGet Package Signing](/nuget/create-packages/sign-a-package) are recommended. Code Access Security (CAS) should not be used as a security mitigation.
Expand Down
Loading