Windows 10中缺少makecert.exe,如何获取和使用它

时间:2018-07-19 08:56:02

标签: c# iis configuration windows-10 makecert

我正在使用Windows10。我没有makecert.exe,当我尝试运行命令以生成诸如 makecert.exe
我收到错误消息:

  

'makecert'不被识别为内部或外部命令,   可操作的程序或批处理文件。

并且我已经为Windows 10安装了Windows SDK。

6 个答案:

答案 0 :(得分:3)

可能是已安装,但可能不在路径中。

例如,我可以在public function index(){ $users = User::whereNotNull('date_of_birth')->take(10); if(!empty($users)){ $validusers = $users->age(); } return view('egistrations.index', compact('validusers')); } 下找到它,但我也可以在C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64下找到另一个。路径中的确切版本会根据您安装的SDK的确切版本而有所不同。

尽管这些路径都不在我的C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86环境变量中(并且我不记得安装SDK后明确删除了它),所以我不能只在命令行说PATH ,我必须为要运行的路径提供完整路径。


makecert命令是尝试查找副本位置的便捷方法。在这里,我仅将搜索范围限制在SDKs目录中,但是您可以根据需要搜索整个硬盘驱动器:

where

答案 1 :(得分:1)

这是我安装makecert.exe文件的方式

(注意:我首先安装了Windows 10 SDK,但是此版本未在“ bin”目录中安装makecert.exe。没问题!)

  1. https://www.microsoft.com/en-us/download/details.aspx?id=8279下载了Windows SDK版本7.1 ISO
  2. 我下载的ISO的名称是GRMSDK_EN_DVD.iso
  3. 导航到下载目录并安装此ISO(有一些软件可以使在Windows 7/10中轻松安装)
  4. 安装后,导航至ISO中名为“ Setup \ WinSDKTools”的目录,您将在此目录中看到两个文件。一个是“ WinSDKTools_x86.msi”,另一个是“ cab1.cab”
  5. 将这两个文件复制到硬盘驱动器上的空目录中
  6. 从硬盘驱动器转到复制这些文件的目录,然后右键单击“ WinSDKTools_x86.msi”,然后选择“安装”
  7. 在硬盘驱动器上的“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.1 \ Bin”上查找新创建的目录
  8. Makecert.exe现在应该与其他一些应用程序和文件夹一起位于此新目录中
  9. 利润?

答案 2 :(得分:0)

我知道现在为时已晚,但是我通过安装旧的Windows 10 SDK版本解决了这个问题:

答案 3 :(得分:0)

我只是下载此文件并将其移至c:/ winwdows / system32

https://onedrive.live.com/?authkey=%21AKVU0sMEK182FF0&id=26E0E257BE82A39E%2127335&cid=26E0E257BE82A39E

然后在命令提示符下运行我的命令:

Makecert -r -pe -n CN =“ MycomputerCertificate” -b 01/01/2020 -e 12/22/2030 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange- sp“ Microsoft RSA SChannel加密提供程序” -sy 12

答案 4 :(得分:0)

当前已折旧的 makecert ,这种具有Powershell' New-SelfSignedCertificate '(以管理员身份)的新方式,例如:

1.- We create a new root trusted cert:
$rootCert = New-SelfSignedCertificate -Subject 'CN=TestRootCA,O=TestRootCA,OU=TestRootCA' -KeyExportPolicy Exportable -KeyUsage CertSign,CRLSign,DigitalSignature -KeyLength 2048 -KeyUsageProperty All -KeyAlgorithm 'RSA' -HashAlgorithm 'SHA256'  -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider'

2.- We create the cert from the root trusted cert chain:
New-SelfSignedCertificate -DnsName "localhost" -FriendlyName "MyCert" -CertStoreLocation "cert:\LocalMachine\My" -Signer $rootCert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1") -Provider "Microsoft Strong Cryptographic Provider" -HashAlgorithm "SHA256" -NotAfter (Get-Date).AddYears(10)

3.- We copy the thumbprint returned by the last command

4.- (If neccesary) We remove the last association ip/port/cert:
netsh http delete sslcert ipport=0.0.0.0:443

5.- We associate the new certificate with any ip and port 443 (the appid value does not matter, is any valid guid):
netsh http add sslcert ipport=0.0.0.0:443 appid='{214124cd-d05b-4309-9af9-9caa44b2b74a}' certhash=here_the_copied_thumbprint

6.- Now, you must open MMC (Certificates Local Computer) and drag and drop the TestRootCA  Personal/Certificates folder to Trusted Root Certification Authorities/Certificates.

这些命令还解决了Google Chrome稍后返回的错误 ERR_CERT_WEAK_SIGNATURE_ALGORITHM ,因为证书是使用SHA1而不是SHA256创建的。

答案 5 :(得分:0)

如果您安装了 Fiddler,Fiddler 也会附带 makecert.exe。它位于

C:\Users\<yourwindowslogin>\AppData\Local\Programs\Fiddler\makecert.exe