It is possible to use Code Protector to sign your protected/licensed assemblies as part of the protection process. Code Protector's default behavior is to NOT sign protected assemblies but it can easily be configured to do so via its SLMCfg configuration file.
Firstly, if you already have code signing enabled for your product, we recommend you leave this in place to ensure that they are still signed if you decide not to protect them e.g. by removing the SLPS_PROTECT from the csproj settings. While this is not necessary for Code Protector to resign your protected assemblies it is good practice to ensure your assemblies are always signed, whether protected or not.
To ensure Code Protector (re)signs your protected assemblies, when creating your Code Protector configuration file (.SLMCfg extension) as outlined here, for each assembly you need to set the value of the Strong Name Key Pair File field to the location of your .snk file used to sign your assemblies.
Using the main Code Protector UI you do this by:
- Selecting the assemblies to be resigned in the left hand panel
- Enter the location of the .snk file in the Strong Name Key Pair File field in the right hand settings panel for each selected assembly.
Leave the remaining settings unchanged and save the SLMCfg file.
If you wish, you can then double check the following code signing elements in the .SLMCfg file to ensure they are correctly set:
where <XXXX.snk> is the full file path for your .snk file.
These settings ensure your protected assemblies will signed as part of the code protection process.
If code protection is automated as per Integrate Protection With Visual Studio and Automated Builds then the final assemblies in the project output will be signed and protected when built.
If you are using the Code Protector UI to manually protect your assemblies then you just need to load the corresponding SLMCfg file with the Strong Name Key Pair File field set as above and then, as usual, press Protect to protect and sign your assemblies.
Article is closed for comments.