Makecert missing from Windows 10 and Visual Studio

2019-01-22 01:46发布

问题:

I did a clean install of windows 10 and visual studio 2015 and did not find makecert.exe anywhere. Does some other software need to be installed to get this program back?

I looked in all the folders under "C:\Program Files (x86)\Microsoft SDKs\Windows\\" and did not see it in any.

I also opened the "Developer Command Prompt for VS2015" and tried running "makecert" but it was not found.

回答1:

Install the Windows SDK for Windows 10. If you still can't find it, try the Windows Driver kit.



回答2:

As ShaneH answers in this question makecert.exe has been deprecated, and we should use powershell commandlet New-SelfSignedCertificate.

New-SelfSignedCertificate -Subject "CN=Test Code Signing" -Type CodeSigningCert -KeySpec "Signature" -KeyUsage "DigitalSignature" -FriendlyName "Test Code Signing" -NotAfter (get-date).AddYears(5)


For older versions of PS, one can get this script from TechNet: https://gallery.technet.microsoft.com/scriptcenter/Self-signed-certificate-5920a7c6

To make my answer full, below is brief explanation how to use the TechNet script:

  1. Navigate to link above and download New-SelfSignedCertificateEx.zip file
  2. Unzip it somewhere
  3. Run PowerShell console and navigate to location with new file
  4. Run command .\New-SelfSignedCertificateEx to call function. Remember to append necessary parameters.

.\New-SelfsignedCertificateEx -Subject "CN=Test Code Signing" -EKU "Code Signing" -KeySpec "Signature" -KeyUsage "DigitalSignature" -FriendlyName "Test code signing" -NotAfter [datetime]::now.AddYears(5)

Two additional notes if you are having problem with this tool.

  1. If PowerShell moans that scripts are disabled, run console as administrator and call this: Set-ExecutionPolicy unrestricted
  2. If PowerShell still refuses to run it, make sure you've prepended .\ (dot-slash) before the name of the file, as this is necessary.


回答3:

After downloading the Windows SDK for Windows, to install the "makecert.exe" you only have to check the "Windows Software Development Kit".



回答4:

A quick search of my C: found that makecert.exe seems to be distributed with Fiddler 2 in the C:\Program Files (x86)\Fiddler2 folder. This is a much smaller download than the full Windows SDK.

For the record I have version 4.6.20171.26113 of Fiddler 2.