我正在尝试将SSL证书加载到我的Azure环境中。我正在关注official Azure documentation instructions located here。
当我运行certreq -accept -user ...
时,它返回:
无法安装证书颁发机构颁发的证书。联系您的管理员。找不到对象或属性。 0x80092004(-2146885628 CRYPT_E_NOT_FOUND)
我是以管理员身份运行的。我正在使用GoDaddy获取我的证书。我转换了godaddy给你的crt(出口)。
我没有看到任何修复,但标准“支付我们,我们将为您修复间谍软件”
采取的措施:
我在go daddy上创建了dns子域名。
然后我按照上面链接中的说明创建了我的证书请求。 (创建文本文件并对其运行certreq -new命令。
我把这个文件上传到godaddy
当godaddy完成授权我的密钥后,我下载了密钥的IIS版本。
解压缩内容。两个文件包括crt和p7b
我在个人文件夹中安装了本地计算机上的证书(我尝试了这个步骤和没有这个步骤)。
然后我将crt导出到cer文件。我注意到它确实说它没有在导出的最后一个屏幕上导出密钥。
然后我在cer上运行了certreq -accept -user命令。此时我收到了Crypt_E_Not_found错误。
答案 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
不是一个好的答案,但至少它是一个动人的答案。如果我找到更好的东西,我会发布它。