A CSR (Certificate Signing request) is a request, typically sent to a certificate authority, for the generation of a digital certificate. The CSR contains information that will be included in your certificate such as your organization name, common name (domain name), locality, and country. In addition, the CSR contains the public key that will be used in your digital certificate. The private key is NOT sent in the CSR as it must be kept “private” on the server where the CSR was originated.
The Visual Studio strong-name signing uses a public/private key pair in the process. The key pair information is stored in a key file, which can be a Personal Information Exchange (PFX) file or a certificate from the current user's Windows certificate store.
Thus, if you want to use a certificate from the Windows Certificate store, then you might use the following process:
- Establish a CSR
- Send to a Certificate Authority
- Receive the Certificate
- Import into your User Cert Store
- Sign the assembly with the certificate
Alternatively, you could use a self-signed certificate generated via makecert
or a tool like Pluralsights SelfCert
.
References:
CSR: http://www.sslshopper.com/what-is-a-csr-certificate-signing-request.html
Signed Assembly: http://msdn.microsoft.com/en-us/library/ms247123(v=vs.90).aspx
SelfCert: http://blog.pluralsight.com/selfcert-create-a-self-signed-certificate-interactively-gui-or-programmatically-in-net