What is Delay signing?

Delay signing is a technique for signing assemblies outside of the build process. A delay signed assembly is marked with a blank strong-name key: it basically reserves space for the key to be added later, by an authorized user. We can sign the assembly using the Sn.exe tool. But some time as a developer we may not have the access of private key of the company to signing the dll. So during creating of assembly we can set the Delay signing option for that assembly from project properties. Open the project property window, Right click on solution, properties and then move to Signing Tab In this process, the public key is inserted into the assembly manisfest , which ultimately reserves some space for the Full Strong Named Assembly in the Portable Executable (PE) file. In the end, while giving the key to client, they may use the following command to convert the Delayed Assembly to a Full Strong Named Assembly.
sn -R assemblyname.dll strongKey.snk
Where Portable Executable strongKey.snk is a strongly named key.