我正在尝试制作测试证书,并且我正在使用此网站 How to: Create Your Own Test Certificate 作为教程,了解如何在创建后输入密码的时间它在命令提示符中显示失败的密码为什么会这样?
我做了什么:
首先,我打开一个命令提示符并输入:
cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
其次,我输入
makecert -sv myPrivateKeyFile.pvk -n "TestCert" myCertFile.cer -b 01/01/2011 -e 01/01/2015 -r
然后我创建密码,然后在sencond弹出框中输入密码,然后在命令提示符下显示失败
当我再次输入时,弹出窗口要求首次弹出密码,然后我输入密码并显示:
错误:CryptCertStrToNameW失败=> 0x80092023(-2146885597)
makecert -sv myPrivateKeyFile.pvk -n "TestCert" myCertFile.cer -b 01/01/2011 -e 01/01/2015 -r
答案 0 :(得分:64)
我通过以管理员身份运行程序解决了这个问题,但我还必须更改这样的LDAP样式的证书名称(CN = ...):
makecert -sv myPrivateKeyFile.pvk -n "CN=TestCert" myCertFile.cer -b 01/01/2011 -e 01/01/2015 -r
答案 1 :(得分:4)
我之所以收到此错误,是因为我在运行时没有右键单击cmd。因此,当您遇到此问题时,您需要右键单击cmd,然后以管理员身份运行,看看是否能像我的那样修复您的问题。
答案 2 :(得分:4)
这对我来说是一个霰弹枪调试。我在阅读makecert指南后开始了这个:
makecert.exe /b 01/01/2014 /e 01/01/2114 /len 256 /m 1200 /n "CN=In-House-Software" /pe /r /sr localMachine Test_Cert.cer
这里有两个导致错误的缺陷:
/e
和/m
可能不会重叠;看起来很明显,但他们没有记录它或为它创建一个富有表现力的错误信息。/len 256
是一个无效的值 - 太低了。在一个好的错误消息中,这似乎也不太明显/记录/表达。 512
确实有效。我没有找到楼层值,但默认使用1024
。我最终成功使用了这个:
makecert.exe /b 01/01/2014 /e 01/01/2114 /len 512 /pe /r /n "CN=In-House-Software" /sr localMachine Test_Cert.cer
答案 3 :(得分:3)
当我为自签名证书指定CA名称时,我也收到此错误,换句话说,如果指定了“-cy authority”和“-r”选项,则不要指定CA名称通过-n选项明确地在名称中。
答案 4 :(得分:0)
出于某种原因,我无法从Dropbox文件夹正确运行makecert。因此,请尝试将其移至C:\之类的固定磁盘,然后重试。