How to sign third party assemblies without compiling
So you added a third party dll to your project and now you need to sign it. Sometimes you might not have the code to modify the assembly and add your strong name key. This post will describe how you can go about signing a third party assembly without compiling the code.
Create a Strong Name Key
First you'll need to get your existing strong name key (.snk) or create a strong name key
Use Ildasm to Sign a Third Party Assembly
First Disassemble the ThirdParty.dll
Open a Visual Studio Command Prompt and type the following command:
D:\Common\ThirdParty>ildasm /all /out=ThirdParty.il ThirdParty.dll
This will create a file called ThirdParty.il which will be used next to sign and build.
Second Rebuild and Sign the ThirdParty.dll
Rename or backup your original third party assembly. Open a Visual Studio Command Prompt and type the following command:
D:\Common\ThirdParty>ilasm /dll /key=YourKey.snk ThirdParty.il
Finally Verify Assembly was Signed
You'll want to verify that your assembly is now signed. To do this Open an Visual Studio Command Prompt and type the following command:
sn -vf ThirdParty.dll
You should get an output similar to..
Assembly 'ThirdParty.dll' is valid
This is certainly happy path and only works with assemblies built using .NET libraries. If other libraries are included in the assembly you are trying to sign then you'll have to do some additional steps not listed on this post.
Feel free to comment on the post but keep it clean and on topic.blog comments powered by Disqus