1

我在 InstallShield 中有 InstallScript MSI 安装程序项目。我想在我的产品安装过程中创建自签名证书。那么是否有任何我可以在 InstallScript 代码中使用的 Windows API,或者是否有任何 InstallScript 函数可以在安装过程中创建自签名证书。

4

2 回答 2

1

不确定您是否可以从 InstallShield 处理它。您能否向我们提供有关您的方案的更多详细信息?

要生成自签名证书,您可以使用 powershell cmdlet。New-SelfSignedCertificate cmdlet 允许创建用于测试目的的自签名证书(可能需要管理员权限)。

您还可以查看为代码签名生成自签名证书一文,这可能对您有用。

于 2019-04-27T10:40:34.177 回答
0

虽然我认为您很可能可以使用UseDLL和 InstallScript 中的朋友来做到这一点,但当您完成相关结构和函数的原型制作时,您可能会对纯 C++ 实现感到更满意。

对于 InstallScript 或 C++ 路由,您必须了解 C++ 层。它的核心是来自wincrypt.h的CertCreateSelfSignCertificate。您很快就会注意到 CertCreateSelfSignCertificate 需要几个参数,其中一些需要通过调用其他函数进行初始化。因此,在一段时间内,理解或实施这一点就像跳进兔子洞一样。

但是 SDK 中有一个示例:cryptoapi/CreateCertificate。它只有 549 行,其中很大一部分用于处理命令行。您可以通过搜索“CreateSelfSignCertificate example”找到其他几个示例。但无论如何,正确地做这件事仍然不是一件容易的事。

因此,您可能对 J. Tribbiani 建议的使用 PowerShell 的替代方法最满意。

于 2019-05-05T02:07:11.747 回答