【问题标题】:Makecert: a certificate basic constraints extension has not been observedMakecert:未观察到证书基本约束扩展
【发布时间】:2015-06-23 16:43:24
【问题描述】:

我正在尝试通过makecert 创建自签名证书,这是我的工作:

makecert -n "CN=TuyenTk CA, C=VN, ST=Hanoi, L=Hoan Kiem" -cy authority
-h 1 -a sha1 -sv "D:\TuyenTk CA.pvk" -r "D:\TuyenTk CA.cer"


makecert -n "CN=TuyenTk" -ic "D:\TuyenTk CA.cer" -iv "D:\TuyenTk CA.pvk" 
-eku "1.3.6.1.5.5.7.3.3" -cy end -a sha1 -h 0 -sky exchange -pe "D:\TuyenTk.cer"


pvk2pfx -pvk "D:\TuyenTk CA.pvk" -spc "D:\TuyenTk CA.cer" 
-pfx "D:\TuyenTk.pfx" -pi "myPassWord"

第一行是make self sign cert (CA cert),第二行是使用CA cert sign other cert,最后是生成pfx文件对exe文件进行签名。

虽然以上 3 个命令都报告成功,但当我双击 TuyenTk CA.cerTuyenTk.cer 时,在详细信息选项卡窗口中显示 基本约束 很关键。因此,当我使用TuyenTk.pfx 文件对我的 exe 文件进行签名时,在“数字签名”选项卡中,证书无效:尚未观察到证书基本约束扩展

我在安装之前查看了证书的详细信息,在受信任的根目录或证书存储的个人位置安装后,我仍然看到错误。

我该如何解决这个问题?谢谢!

【问题讨论】:

  • 我认为这里是主题,但如果您没有得到答案,您可以尝试安全或加密网站。

标签: windows x509certificate self-signed makecert


【解决方案1】:

要创建您的自签名根 CA 证书,请尝试以下选项:

    makecert -r -pe -m 1200 -len 2048 -n "CN=TuyenTk CA, C=VN, ST=Hanoi, L=Hoan Kiem" -ss CA -sr CurrentUser -a sha1 -sky signature -cy authority -sv "D:\TuyenTk_CA.pvk" "D:\TuyenTk_CA.cer"

我省略了“-h 1”,以便在基本约束中为您提供无限的签名深度;一些 SSL 包不喜欢无限的路径长度,因此您可以将密钥层放入“-h 5”或您认为可以满足您需求的任何值。我添加的开关:

    -pe              Make private key exportable
    -m 1200          Make CA key valid for 100 years (1200 months)
    -ss CA           This key goes into the CA certificate store
    -sr CurrentUser  Certificate store location
    -sky signature   Key type (use for signing)

我还在名称中添加了下划线(而不是空格);可能不是必需的,但我的证书文件没有空格(这些实用程序有时可能很奇怪)。

导入 CA 证书时,请确保将其导入“受信任的根证书颁发机构\本地计算机”物理存储位置。例如,在 Admin cmd 提示符下使用它:

    certutil -addstore -v root "D:\TuyenTk_CA.cer"

这些步骤在 XP 上对我有效,现在在 Windows 7 上也有效。希望这会有所帮助!

  • 德拉克

【讨论】:

  • 仍有错误。不知道为什么。我使用的是 Windows 8.1 Pro 32 位
  • 你能把你采取的步骤和每一步的结果贴出来吗?例如,CA 证书是否创建?您是否能够将其安装到您的受信任的根证书颁发机构\本地计算机商店中?您使用了哪些选项来创建 CA 证书?您遵循了哪些选项/步骤来创建和签署代码签名证书?对代码进行签名怎么样(您是否使用过 SignTool?有哪些选项...?)。
  • 是的,它创建成功,我可以将它安装在受信任的根\本地计算机中。我复制您的命令然后粘贴到命令行,但删除-sssr。然后我手动安装它。我在证书商店看到它。一切都很好,除了basic constraints。我可以使用CA证书来签署其他证书,但是这个CA证书签署的任何证书也是basic constraints警告
猜你喜欢
  • 2013-02-28
  • 1970-01-01
  • 2023-01-19
  • 2011-09-30
  • 2019-10-16
  • 1970-01-01
  • 2011-08-13
  • 2017-03-29
相关资源
最近更新 更多