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 如何在OWIN中安装CA签名的证书?_Ssl_Ssl Certificate_Owin_Self Hosting - Fatal编程技术网

Ssl 如何在OWIN中安装CA签名的证书?

Ssl 如何在OWIN中安装CA签名的证书?,ssl,ssl-certificate,owin,self-hosting,Ssl,Ssl Certificate,Owin,Self Hosting,我有一个来自GoDaddy的证书,我以前曾将其用于IIS托管的网站。我现在已经将该站点转换为OWIN自托管WebAPI项目,并希望在全新机器上为新站点使用相同的证书 我是否需要安装IIS来导入证书,或者是否有一种方法可以像使用自签名证书一样将其直接导入证书存储 或者这是否需要在新的OWIN项目中直接处理?导入证书不需要IIS,而是使用certmgr(证书管理器)。您应该能够使用Windows证书管理器直接导入证书,然后使用netsh使用其指纹为OWIN注册证书 只需忽略导入根证书颁发机构的部分

我有一个来自GoDaddy的证书,我以前曾将其用于IIS托管的网站。我现在已经将该站点转换为OWIN自托管WebAPI项目,并希望在全新机器上为新站点使用相同的证书

我是否需要安装IIS来导入证书,或者是否有一种方法可以像使用自签名证书一样将其直接导入证书存储


或者这是否需要在新的OWIN项目中直接处理?

导入证书不需要IIS,而是使用certmgr(证书管理器)。您应该能够使用Windows证书管理器直接导入证书,然后使用netsh使用其指纹为OWIN注册证书

只需忽略导入根证书颁发机构的部分,GoDaddy已经是一个受信任的CA(尽管您可以下载证书链/捆绑包并手动导入)


您可以通过运行MMC(开始->运行->MMC)创建证书管理器管理单元,然后添加或删除管理单元,选择证书。保存到桌面。

解决了我的问题(不过,我不知道如果其他人遇到这个问题,它是否会有帮助)。原来GoDaddy的“下载证书”页面只下载没有私钥的证书。我必须导出以前由IIS导入的证书,然后将其导入我的个人存储。我假设有一种方法可以将私钥导入IIS,但我个人不知道它是什么(可能这次我只是错过了一个步骤)。

是的,证书必须与私钥一起安装,才能与OWIN一起使用。我不得不经历与大多数(所有?)CA一样的痛苦,即在没有私钥的情况下颁发证书。但是,您必须事先收到私钥。您必须拥有.crt格式的证书。其中不包括私钥。因此,您需要创建一个.pfx格式的证书,其中包含私钥

如果您的私钥为纯文本格式,则创建以中的纯文本作为其内容的.key文件。请注意,您的.key文件应具有标准的第一行和最后一行私钥,否则它将抱怨密钥无效

-----BEGIN PRIVATE KEY-----
<key-content>
-----END PRIVATE KEY-----
要导入此证书,只需双击.pfx文件。在导入向导中,选择“本地计算机-个人”作为证书存储。成功导入后,您还会注意到在已安装证书图标的顶部出现一个小的(锁定)密钥图标


假设您已经使用
netsh-http-add-sslcert
将服务器端口与OWIN应用程序绑定在一起,它应该可以开始工作了

嗯。。。这是我最初的想法,但netsh似乎很难链接到它。netsh http>add sslcert ipport=0.0.0.0:443 certhash=appid={ac05b3ed-946d-4eb4-b344-ab871420beba}输出:SSL证书添加失败,错误:1312指定的登录会话不存在。它可能已经被终止了。我必须继续玩,看看是否可以找到更多详细信息。您将其导入了哪个证书商店?证书(本地计算机)/个人/Hmmm。。。我的证书没有私钥。它应该有吗?你已经有私钥了。您从Godaddy收到了一个.crt或.cer文件,因此您可能需要使用openssl将cert+私钥组合到一个组合的pfx文件中,然后导入pfx文件。是的,Godaddy从未收到您的私钥。原始签名请求仅包含公钥。创建pfx的唯一方法是您自己+1谢谢你的回答,因为它应该有用。
openssl pkcs12 -export -out servername.pfx -inkey servername.key -in servername.crt