Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl IIS将证书导入到哪里?_Ssl_Iis_Ssl Certificate_Iis 7.5_Iis 8 - Fatal编程技术网

Ssl IIS将证书导入到哪里?

Ssl IIS将证书导入到哪里?,ssl,iis,ssl-certificate,iis-7.5,iis-8,Ssl,Iis,Ssl Certificate,Iis 7.5,Iis 8,我正在尝试复制IIS导入的功能。我有一个应用程序需要以编程方式导入证书,但它无法工作,因为我似乎缺少一个步骤。如果我通过IIS导入实用程序导入相同的证书,它将非常有效 代码: private X509Certificate2Collection x509 = new X509Certificate2Collection(); private X509Store IIS = new X509Store(StoreName.My, StoreLocation.LocalMachine); x509

我正在尝试复制IIS导入的功能。我有一个应用程序需要以编程方式导入证书,但它无法工作,因为我似乎缺少一个步骤。如果我通过IIS导入实用程序导入相同的证书,它将非常有效

代码:

private X509Certificate2Collection x509 = new X509Certificate2Collection();
private X509Store IIS = new X509Store(StoreName.My, StoreLocation.LocalMachine);

x509.Import(path, password, X509KeyStorageFlags.Exportable);
var certificate = new X509Certificate2(path, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet);
IIS.Open(OpenFlags.ReadWrite);
IIS.Add(certificate);
IIS.Close();

netsh http add sslcert ipport=0.0.0.0:" + port.ToString() + " certhash=" + CertificateThumbprint + " appid={2d967d25-4edf-4962-9b6c-5b3c4d4de48d}";
netsh绑定失败,错误为指定的登录会话不存在。它可能已被终止


如果我首先通过IIS管理器导入证书,然后运行netsh命令,这一切都很正常,因此我的代码中肯定缺少IIS在后台执行的某些操作。

,因为您没有按要求设置
X509keystrageFlags.PersistKeySet
,事实上,证书并没有按照您的意愿导入到存储中


进一步的解释可以在

中找到,这正是问题所在!谢谢