What are the challenges you face when working across database platforms? Take the survey

Issue with SmartAssembly .Net Standard 2.0, Tamper Protection, SignTool


Does SmartAssembly support strong naming, tamper protection & signing the dll with a certificate via SignTool when using .net Standard 2.0?

I've got a c# .net 4.8 console app, which references a .net standard 2.0 assembly. They've been built in the following order:

1 - Build console app & .net standard 2.0 assembly in visual studio 2019, strong name is applied.
2 - Run the console app & .net standard 2.0 assembly through smart assembly.  The strong name signing & tamper protection are applied here also.
3 - Using the command line, sign the exe & dll using SignTool applying our digital certificate.

When the console application is started an exception is raised, "Exception Info: System.TypeInitializationException: The type initializer for 'SigningTest.ClassStandard' threw an exception.
 ---> System.Security.SecurityException: Assembly has been tampered"

If I switch off tamper protection, the console app runs as expected.
I've tried the same steps with everything targetted to .net 4.8, everything runs as expected with tamper protection swtiched on.



Best Answer

  • Options
    Victoria WVictoria W Posts: 364 Gold 2
    Hi @JohnJardine

    Hi John

    Currently .NET Core and .NET Standard assemblies with Tamper Protection enabled cannot be post-processed with any other tool (incl. SignTool).

    We have a Jira for this issue but I'm afraid I can't give you an indication of when it will be worked on.

    Kind regards

    Victoria Wiseman | Redgate Software
    Have you visited our Help Center?


Sign In or Register to comment.