netsh 命令需要一个 appid(请参见此处):
netsh http add sslcert ipport=0.0.0.0:8000 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF}
到目前为止,我还无法理解我应该如何知道 netsh 希望我提供的 GUID。有什么提示吗?
您可以使用任何有效的 GUID。它仅用于允许您稍后识别绑定。
我为我的 WCF 服务使用了 Application GUID,该服务位于我的托管应用程序(Windows 服务)的 AsseblyInfo.vb (VB.NET) 或 AssemblyInfo.cs (C#) 文件中,如下所示:
<Assembly: Guid("8fbacae2-bd4e-8ef5-b202-1561845dd04f")>
我将其用作 netsh.exe 工具的 appid 参数,如下所示:
appid={8fbacae2-bd4e-8ef5-b202-1561845dd04f}
它运行良好,我的 WCF 服务通过该 SSL 证书使用 Https。
如果您使用 IIS GUI (inetmgr.exe) 绑定证书,然后执行“netsh http show sslcert”,您将看到 AppID 为 {4dc3e181-e14b-4a21-b022-59fc669b0914},这是 IIS 使用的 AppID,所以它也是我使用的appid。
“它总是说无效的参数......”
尝试appid="{7E46BD40-39C6-4813-B414-019AD1122333}"
带引号。
(对不起,不是直接回答这个问题,但这通常是谷歌第一次点击,很多人似乎有这个问题。更多:“参数不正确。”错误使用netsh http add sslcert)