我可以在没有代码签名 EKU 的情况下使用证书签署自解压 exe 吗?
Posted
技术标签:
【中文标题】我可以在没有代码签名 EKU 的情况下使用证书签署自解压 exe 吗?【英文标题】:Can I sign a self-extracting exe with a certificate without the Code signing EKU? 【发布时间】:2017-03-30 17:46:27 【问题描述】:我有一个使用 7zip (7z.sfx) 创建的自解压 .exe。我已经用signtool签名了。签名证书在我的本地机器存储中,它的根证书在“受信任的根证书颁发机构”和“受信任的发布者”文件夹中。
我希望签名详细信息显示在 UAC 提示的发布者字段中,但仍显示“未知发布者”。有谁知道发生了什么?该证书没有“代码签名”EKU。这会导致问题吗?
This person 有类似的问题,没有答案。 This question 详细介绍了代码签名,但它仍然不适合我。
【问题讨论】:
Signing a Windows EXE file的可能重复 您在创建证书时填写了哪些字段?是否设置了 OU? @Thomas Weller 我已经尝试了您提到的问题中的所有内容,但我仍然遇到问题。是的,我的 OU 字段已设置。 【参考方案1】:好吧,也许正如我所怀疑的那样,用于代码签名的 EKU 对于 UAC 来说是必不可少的。使用 vanilla 证书生成签名没有问题,但 UAC 将忽略使用非代码签名证书生成的签名,即使这些证书位于 Trusted Publisers、Trusted Root Authorities 等中。
代码签名的 eku 是 1.3.6.1.5.5.7.3.3
以下 PowerShell 命令为您获取自签名代码签名证书...
New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname sby-port -type CodeSigningCert
【讨论】:
以上是关于我可以在没有代码签名 EKU 的情况下使用证书签署自解压 exe 吗?的主要内容,如果未能解决你的问题,请参考以下文章