I have a C # /. NET 4.5 x64 project in Visual Studio 2013. More than one developer works in this project, so the code is managed in Git. I am signing compiled .dll and .exe with signtool.exe . My company bought a code signing certificate, and if I sign it manually from the command line as follows:
signtool.exe sign /f cert.p12 /p "password" "compiled.dll"
... then it looks like everything is fine: I get a success message and the properties of the compiled DLL in Windows Explorer show that it is correctly signed. This way I have no problem with the actual signing process.
But the certificate and its password should not reside in Git . They will be provided out of range to all project developers. I can assume that every developer, when he builds the project, will have a certificate stored in a predefined location on his computer, and he will know the password for it.
So here is my question: how can I configure Visual Studio 2013 to automatically sign the compiled output without saving the certificate or its password in Git? I want it to be as simple as the developer has the certificate in a predefined path (either imported or something else), and based on the assumption that the developer knows the password for the certificate, clicking "Build" in Visual Studio 2013 simply builds and signs it, asked no questions.
If the signing process can be non-interactive (without a password), this is a bonus. In the end, it will be part of a continuous integration server (CI), which can also sign its output, and since it is automated, no one will be there to enter the password. However, I will take any decision for now.
My certificate is in PKCS # 12 format and is password protected. Windows claims that it is not marked for export.
c # visual-studio-2013 code-signing signtool
user3466413
source share