Certificate 当证书位于自定义位置时,如何使用netsh将证书注册到端口

Certificate 当证书位于自定义位置时,如何使用netsh将证书注册到端口,certificate,store,Certificate,Store,我的证书存储在自定义存储区的“证书(本地计算机)”下,而不是“个人”下 通常,如果证书位于personal下,我只使用C:>netsh http add sslcert ipport:0.0.0:certhash=appid=certstorename=MY 其中,如果未指定,默认情况下已假定certstorename=MY 在我们被要求将证书存储在现有的个人、受信任的人、受信任的发布者等之外的自定义存储中之前,这一切都很正常 如果我们将新存储称为“我的证书存储”,那么新的netsh命令会是什

我的证书存储在自定义存储区的“证书(本地计算机)”下,而不是“个人”下

通常,如果证书位于personal下,我只使用C:>netsh http add sslcert ipport:0.0.0:certhash=appid=certstorename=MY

其中,如果未指定,默认情况下已假定certstorename=MY

在我们被要求将证书存储在现有的个人、受信任的人、受信任的发布者等之外的自定义存储中之前,这一切都很正常

  • 如果我们将新存储称为“我的证书存储”,那么新的netsh命令会是什么样子
  • “我的”这个词如何映射到“个人”商店?有没有一本字典能把这些地图标出来
我检查了System.Security.Cryptography.X509Certificates命名空间,发现存在一个名为StoreName的枚举,其值如下:

  • 地址簿-其他用户的X.509证书存储。
  • AuthRoot—第三方证书颁发机构(CA)的X.509证书存储。
  • CertificateAuthority-用于中级证书颁发机构(CA)的X.509证书存储。
  • 不允许-已吊销证书的X.509证书存储。
  • My-个人证书的X.509证书存储。
  • Root—受信任的根证书颁发机构(CA)的X.509证书存储。
  • TrustedPeople—用于直接信任的人员和资源的X.509证书存储。
  • TrustedPublisher—直接受信任的发布者的X.509证书存储。
我以certstorename的身份在netsh命令上尝试了所有这些方法,但始终出现以下错误:

SSL证书添加失败,错误:1312
指定的登录会话不存在。它可能已被终止。

您尝试执行的操作似乎正确。您是否可以在对与您的症状完全匹配的问题应用修补程序后重试。

打开您的证书并仔细检查它是否确实包含私钥。根据您导出/导入它的方式,它可能已被截断为仅限公共数据


在资源管理器中,只需双击并检查“此证书包含私钥”警告标签是否在第一个选项卡上可见,就在到期日期下方

一个巨大的缺陷是,即使私钥未正确保存,私钥图标仍会显示在mmc中,并显示“存在与此证书关联的私钥”。要确保私钥已正确导入

  • 右键单击C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys并记下文件夹中有多少文件(这是保存私钥的地方)
  • 导入pfx文件/但将证书/密钥添加到存储
  • 再次检查该文件夹的文件计数,应该比以前多出一个文件
你可以试着用一个新创建的,自签名的证书,用一个像OpenSSL这样的工具来测试它。在我找到这个stackoverflow帖子之前,它被困在上面好几个星期了


另一个问题是确保证书在本地计算机(不是用户)中,但看起来您已经将该部分删除了。

当证书安装在本地用户存储中而不是本地计算机存储中时,我遇到了这个问题。在
本地计算机/my
中安装后,该问题得到了解决。

我看到了完全相同的问题