使用certreq

时间:2015-09-22 02:02:28

标签: azure ssl

我正在尝试将SSL证书加载到我的Azure环境中。我正在关注official Azure documentation instructions located here

当我运行certreq -accept -user ...时,它返回:

  

无法安装证书颁发机构颁发的证书。联系您的管理员。找不到对象或属性。 0x80092004(-2146885628 CRYPT_E_NOT_FOUND)

我是以管理员身份运行的。我正在使用GoDaddy获取我的证书。我转换了godaddy给你的crt(出口)。

我没有看到任何修复,但标准“支付我们,我们将为您修复间谍软件”

采取的措施:

  1. 我在go daddy上创建了dns子域名。

  2. 然后我按照上面链接中的说明创建了我的证书请求。 (创建文本文件并对其运行certreq -new命令。

  3. 我把这个文件上传到godaddy

  4. 当godaddy完成授权我的密钥后,我下载了密钥的IIS版本。

  5. 解压缩内容。两个文件包括crt和p7b

  6. 我在个人文件夹中安装了本地计算机上的证书(我尝试了这个步骤和没有这个步骤)。

  7. 然后我将crt导出到cer文件。我注意到它确实说它没有在导出的最后一个屏幕上导出密钥。

  8. 然后我在cer上运行了certreq -accept -user命令。此时我收到了Crypt_E_Not_found错误。

2 个答案:

答案 0 :(得分:12)

在使用documentation和GoDaddy证书中的certreq说明时,我遇到了同样的错误。我通过接受这样的请求来修复它:

certreq -accept -machine <RandomFilenameFromGoDaddy>.crt

我认为问题在于official instructions myrequest.txt文件中有MachineKeySet = True - 我认为这需要MachineKeySet = False(默认值)才能成为用户-scoped。

答案 1 :(得分:0)

我通过从Windows功能激活服务加载IIS解决了这个问题。然后,我按照创建IIS证书请求的说明进行操作。

在我的本地计算机上的IIS中创建证书请求后,我将其上传到GoDaddy,并照常执行其余指示。

https://www.digicert.com/csr-creation-microsoft-iis-7.htm

不是一个好的答案,但至少它是一个动人的答案。如果我找到更好的东西,我会发布它。