使用.cer实用工具导入certutil证书无法与其私钥匹配,尽管证书签名请求是在同一台计算机上创建的。
我使用certreq生成用于获取此证书的.csr文件,在.inf中有Exportable = True标志。通过mmc向导手动执行导入是可行的,但在从管理控制台运行以下命令时就不行了。
certutil -addstore -f "My" "website_aps_production.cer"
此外,在使用certutil导入证书之后,在mmc中我注意到友好的名称被重置(显示为None)。
在从cmd导入证书之后,我已经尝试了修复存储机制,但是没有帮助。
certutil -repairstore my >cert_thumbprint<
更新
我尝试使用certreq -accept -machine website_aps_production.cer导入证书,但这引发了一个错误:无法将证书链构建到受信任的根权威。0x800b010a并且控制台中有附加警告,无法安装由证书颁发机构颁发的证书。联系你的管理员。
发布于 2019-04-19 11:07:52
作为解决办法,我成功地使用PowerShell自动化了证书导入过程。
Set-Location -Path cert:\LocalMachine\My
Import-Certificate -Filepath "C:\website_aps_production.cer"通过这种方式,证书被导入到本地计算机的存储中,并与其相应的私钥相匹配,从而可以进一步导出。
然而,更方便的解决方案是使用openSSL创建所有东西,而根本不使用证书存储。通过这种方式,可以独立于证书导出私钥。
openssl req -nodes -newkey rsa:2048 -keyout pvkey.key -out csr.csr -subj "/C=test/ST=test/L=test/O=test/OU=test/CN=test" -config "C:\openssl.cnf"https://stackoverflow.com/questions/55413247
复制相似问题