Strong name is buy to verify name uniqueness, prevents name spoofing, and provides callers with some Identity When a reason is resolved
See
Assembly security considityShttp: //msdn.microsoft.com/library/default.asp? URL = / library / en-us / cpguide / html / cpconassembliessecurityConsIderations.asp
Strong-named assemblymblieshtp: //msdn.microsoft.com/library/en-us/cpguide/html/cpconstrong-namedassemblies.asp? Frame = true After the program set includes a strong name, the public language running library (CLR) Ensure that two assemblies with the same strength name are exactly consistent in any way. In other words, the strong name provides the uniqueness identifier of an assembly for the CLR. In addition, add a strong name to ensure binary integrity, because the CLR can perform verification when the assembly is loaded, and it is determined whether it is tampered with since compiling.
See http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39144446,00.htm strong name to prove that this generated assembly is you released; and if you write The assembly is used in multiple applications, then this assembly must have a unique name that is part of the unique name of the assembly.
In addition, as long as you protect your SNK file, don't publish it, no one can fake your release assembly.
The principle of strong name signature is an asymmetric signature verification algorithm.
First, use the sn.exe command line to generate a. SNK key file, this file includes two parts. 1 Private key is something that generates a verification code when compiled by vs.net. 2 Public key, package the contents of the Publickey section in the program collective data when compiling.
Moreover, the verification code can only be generated by private key, and only verification codes generated by the private key can pass the .NET CLR verification.
When the CLR verifies the assembly, by reading the public key to generate a verification object. After generation, verify the content of the entire assembly, compare the verification code in this verification code and the assembly, if the consistence is passed, if notasting the representation program The set has been modified, and the CLR will refuse to load this assembly and that the assembly that needs to be rejected is not found, throws the FilenotFoundException.
For example, System.dll, System.Web.dll, Microsoft's .NET class, have passed a strong name verification, ensuring that others can only use these class libraries, and cannot modify, but also guarantee that these assemblies are launched. . Moreover, these assemblies are stored in the shared directory, more need to be strong. Http://community.9cbs.net/expert/topic/3168/3168762.xml?temp=.5588037