我正在尝试在32位Windows 7(虚拟)上创建自签名CA证书。makecert是位于C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin>
中的v7.1。
每当我尝试执行此命令(提升)时...
makecert.exe -r -n “CN=MyCert CA” -pe -sv MyCert.pvk -a sha1 -len 2048
-b 09/04/2012 -e 09/04/2018 -cy authority MyCert.cer
...系统提示我输入密码,但当我确认密码时,我得到:
错误:加密证书结构名称W失败=〉0x 80092023(-2146885597)失败
任何帮助都将不胜感激。
问候。
4条答案
按热度按时间mrwjdhj31#
我将您的命令复制到命令提示符中,但得到了相同的错误。然而,我重新键入了该命令,它工作了。我怀疑名称参数
"CN=MyCert CA"
中的一个字符是特殊字符,可能是从字处理程序复制的。zpgglvta2#
这是一个老问题,但看起来您使用的是字处理程序“智能引号”,而不是ASCII双引号。
所以问题不在于
makecert
,而在于你输入命令的方式,windows命令shellcmd.exe
没有把“CN=MyCert CA”
看作是一个带引号的单词,而是看到了两个裸词“CN=MyCert
和CA”
,“智能引号”是单词的一部分。"
的码位为U+0022(在C#或C中也称为“\x22”)。“
的代码点为U+201C(在C#中也称为”\u201C“)。”
的代码点为U+201D(在C#中也称为“\u201D”)。从而导致错误。
fd3cxomn3#
如果名称中没有CN=,也会出现相同的错误。
例如,我在
-n "My Name"
中遇到了这个错误,但在-n "CN=My Name"
中成功了os8fio9y4#
错误方式=“CN=MyCert CA”
正确方式=“CN=我的证书”
正确方式=“CN=证书名称”
12345432123454321