它没有用我的自签名证书签署文件。
对于有问题的构建脚本,authcert.use
是软件用于内部许可的证书,而不是用于签署生成的.pkg
文件。由于有多个证书在起作用,因此了解它们之间的区别很重要。
签署 Apple 安装程序
如果您想对生成的.pkg
文件进行签名,您需要获得一个 Apple Developer ID,特别是一个标记为创建安装程序的 ID。要查看是否已安装,请使用security find-identity -v -p appleID
.
security find-identity -v -p appleID
1) C50DEA4B92E19A5573C48E8CBFCA17A741FF7BC2 "Developer ID Installer: ABC Incorporated (P4E8D512CX)"
2) 43A2EF6B7F9EE536B8FA7FB784E5F81D13BDB5D8 "Developer ID Application: ABC Incorporated (P4E8D512CX)"
您需要的部分在括号中...您可以通过覆盖该值.pkg
来签署文件。请注意,从 QZ Tray 2.2.0 开始,两者和ID 都是必需的。Application
Installer
例如
ant pkgbuild -Dapple.packager.signid=P4E8D512CX
这将获取从您的密钥环中调用的 Apple 签名 ID P4E8D512CX
,并使用它对.pkg
文件进行签名。此值将根据您分配的 Apple Developer ID 更改。
请注意,对于 Windows,该过程略有不同,您需要提供三个值:-Dsigning.alias=...
、-Dsigning.keystore=...
、-Dsigning.keypass=...
、-Dsigning.storepass=...
。此处提供了示例值,但通常需要将.pfx
(PKCS#12) 转换为.jks
. 如果您希望在创建可执行文件后对其进行签名,这也可以,但它不会应用于任何捆绑的二进制文件,例如启动程序、卸载程序或捆绑的 DLL。
覆盖内部许可文件
您正在使用的应用程序需要颁发的证书(如许可证)才能运行。对于想要颁发自己的证书的用户,这ant pkgbuild -Dauthcert.use=path/to/override.crt
是有效的。这将创建一个覆盖内部许可证的桌面安装程序。有关此许可证文件用途的更多信息,请参阅此视频教程:https ://www.youtube.com/watch?v=X72y6ZZTWzE