You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PublicSign does not work when supplied with a full private key #17451
The --publicsign+ (Or PublicSign project property) option used for public-signing projects does not work when the supplied strong name key is a full public/private key pair.
Steps to reproduce.
Generate a strong name key pair (sn -k mykeypair.snk)
A problem occurred writing the binary 'obj\Debug\net8.0\refint\fsharp-scratch.dll': A call to StrongNameSignatureSize failed (Invalid Public Key blob)
Note that public does work correctly if you supply it with just the public key.
Extract the public key using sn -p mypairpair.snk publickey.snk
Change the AssemblyOriginatorKeyFile to publickey.snk
Observe that that public signing works.
In theory public signing, even with the full public/private key pair should still work because the public key is a a subset of the private key.
The C# / Roslyn toolset is able to use the full private key when used with publicsign
As for the use case of why this is useful, this was reported by Red Hat / @omajid. They are trying to utilize PublicSign in their build process because full-signing does not work. Full signing does not work there because strong naming requires using the RSA+SHA1 signature algorithm, and that signature algorithm does not work on their systems because it is deprecated.
Activity
tmds commentedon Jan 9, 2025
When this is fixed, we can undo dotnet/arcade#15380.
CI: Consolidate GitHub Actions test workflows into unified Test.yaml
CI: Consolidate GitHub Actions test workflows into unified Test.yaml
CI: Consolidate GitHub Actions test workflows (#38147)