我在InstallShield中有InstallScript MSI安装程序项目。我想在产品安装过程中创建自签名证书。因此,有没有可以在InstallScript代码中使用的Windows API,或者有可以在安装过程中创建Self-Sign证书的InstallScript函数。
答案 0 :(得分:1)
不确定是否可以从InstallShield处理它。您能给我们提供有关您的情况的更多详细信息吗?
要生成自签名证书,可以使用powershell cmdlet。 New-SelfSignedCertificate cmdlet允许创建用于测试目的的自签名证书(可能需要管理员权限)。
您还可以查看对您可能有用的Generate a self-signed certificate for code signing文章。
答案 1 :(得分:0)
虽然我认为您很可能可以与UseDLL和InstallScript中的朋友一起执行此操作,但是当您完成对相关结构和功能的原型制作时,您可能会更满意纯C ++实施。
对于InstallScript或C ++路由,您必须了解C ++层。它的核心是CertCreateSelfSignCertificate中的wincrypt.h。您会很快注意到CertCreateSelfSignCertificate需要几个参数,其中一些参数需要通过调用其他函数来初始化。因此,在一段时间内,理解或实现这一点就像在钻一个兔子洞。
但是SDK中有一个示例:cryptoapi/CreateCertificate。它只有549行,其中很大一部分用于处理命令行。您还可以通过搜索“ CreateSelfSignCertificate示例”找到其他一些示例。但是无论如何,正确地完成任务仍然不是一件容易的事。
因此,您可能会很高兴采用J. Tribbiani建议使用PowerShell的替代方法。