使用自签名证书通过Ant编译QZ Tray时dmg安装包缺失证书问题
解答
根因
QZ Tray的MacOS打包任务(dmg/pkgbuild)默认仅打包核心运行文件,不会自动将dist目录下生成的override.crt拷贝到安装包的应用资源路径中。你之前指定的-Dauthcert.use参数仅生效于本地构建的jar包,不会触发证书嵌入安装包的逻辑。
修复方案
执行打包命令时额外添加-Dauthcert.override=true参数即可:
dmg包打包命令
ant dmg -Dauthcert.use="cert.pem" -Dauthcert.override=true
pkg包打包命令
ant pkgbuild -Dauthcert.use="cert.pem" -Dauthcert.override=true
该参数会通知构建脚本将指定的自签名证书作为override.crt直接嵌入最终生成的安装包内,安装后证书会自动出现在应用的资源目录下,无需手动添加。
验证方式
安装新生成的安装包后,右键点击「应用程序」中的QZ Tray,选择「显示包内容」,进入Contents/Resources/目录即可看到override.crt文件,启动应用后站点管理器会自动加载该证书。
内容的提问来源于stack exchange,提问作者umutesen
相关产品推荐
相关产品推荐

