我第一次尝试对我的 Windows 应用程序(使用 Unity 在 Mac 上构建)进行代码签名。我已经使用 osslsigncode 与我的私钥和 Apple 颁发的开发人员证书(我意识到这是不寻常的,但我不明白为什么它不应该工作)。
生成的可执行文件已明确签名,但是当用户启动它时,它仍然会发出可怕的“未知发布者”警告。挖掘文件属性会显示一个签名,但表示“无法验证签名中的证书”。它正确地将颁发者列为“美国,苹果公司,苹果证书颁发机构”。但是,当我获得证书的详细信息时,它说“Windows 没有足够的信息来验证此证书”。
现在,有按钮在这一点上“安装证书...”和“发行人声明”,我怀疑会满足它,但当然我不能指望我的最终用户这样做。
那么,这里到底缺少什么?是否只有某些 CA 可以处理掉投诉,如果是,我在哪里可以找到该列表?或者我的应用程序中还缺少其他东西?
注意:如果需要更多详细信息,则会发布所有证书对话框的屏幕截图here。
它列出了US,Apple Inc.,Apple Certification Authority,它是CA(Certificate Authority-也由证书表示),用于签署证书,或者更好地颁发证书,因为该信息在证书本身中。
您可以将 CA 视为证书的父级。
现在,Windows 无法验证您的证书的原因是因为它对证书的父 CA一无所知。
要更改,您必须将父 CA 导入 Windows,如果 CA 也有一个父级,也导入它,依此类推,直到您到达自签名的 CA(它没有父级,或者它是自己的父级),该 CA 称为ROOT CA。
从 ROOT CA 开始并以您的证书结尾的 CA 列表称为证书链。导入整个证书链后,Windows 将不再抱怨,在“证书”窗口中,选择“证书路径”选项卡,您将看到整个证书链以树状结构从 ROOT CA 开始,并以您的证书结尾(现在它是其中显示的唯一一个),其中列出了每个证书。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(79条)