使用makecert.exe创建自签名CA证书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用makecert.exe创建自签名CA证书相关的知识,希望对你有一定的参考价值。
我正在尝试在32位Windows 7(虚拟)上创建自签名CA证书。该makecert是v7.1位于C:Program FilesMicrosoft SDKsWindowsv7.1Bin>
。
每当我尝试执行此命令(提升)...
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
...我收到提示输入密码但是当我确认密码时,我得到了:
错误:CryptCertStrToNameW失败=> 0x80092023(-2146885597)失败
任何帮助,将不胜感激。
问候。
答案
我将您的命令复制到命令提示符并得到相同的错误。但是,我重新输入了命令并且它有效。我怀疑名称参数"CN=MyCert CA"
中的一个字符是一个特殊字符,可能是从文字处理器复制的。
另一答案
这是一个老问题,但看起来你使用的是文字处理器“智能引号”而不是ASCII双引号。
所以问题不在于makecert
,而是你输入命令的方式。 Windows命令shell cmd.exe
没有将“CN=MyCert CA”
视为引用的单词。它反而看到两个裸字,“CN=MyCert
和CA”
,其中“智能引号”是该词的一部分。
- ASCII直双引号,
"
的代码点为U + 0022(在C#或C中也称为' x22')。 - 左侧双“智能”引用“,
“
的代码点为U + 201C(在C#中也称为” u201C“)。 - 正确的双“智能”引用,
”
的代码点为U + 201D(在C#中也称为' u201D')。
因而错误。
另一答案
如果名称中没有CN =,也可能会出现相同的错误。
例如,我与-n "My Name"
有这个错误,但它成功与-n "CN=My Name"
以上是关于使用makecert.exe创建自签名CA证书的主要内容,如果未能解决你的问题,请参考以下文章