OSX 已签名的应用程序和安装程序,安装后签名被删除
OSX signed app and installer, after installing signature is removed
我在签署 OSX 苹果商店外分发申请时遇到了一个奇怪的行为。
构建应用程序后,使用 Developer ID 应用程序证书对应用程序包进行签名。
运行 spctl -a -vvvv $app;
返回成功接受
使用 WhiteBox 包为已签名的应用程序构建 pkg 安装程序 http://s.sudre.free.fr/Software/Packages/about.html
产品使用 Developer ID Installer 证书签署了 .pkg
用 spctl -a -vvvv --type install $installer
检查了 .pkg,再次接受它。
从 pkg 安装应用程序,并使用 spctl -a -vvvv $app;
检查 .app,然后被拒绝。
会不会是在安装过程中使用 WhiteBox Packages 以某种方式修改了 .app 包?
FWI 以下是我签署申请的方式:
# First parameter is app location
function sign_app(){
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/crash_inspector";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Framework.framework";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Helper EH.app";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Helper NP.app";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Helper.app";
codesign --force --verify --verbose --sign "$identity" "/Contents/Icon";
codesign --force --verify --verbose --sign "$identity" "";
codesign -vvv -d ;
spctl -a -vvvv ;
}
# First parameter package location, second parameter - signed package output location
function sign_installer(){
productsign --sign "$installerID" ;
spctl -a -vvvv --type install ;
}
出于某种奇怪的原因,似乎当您将图标(文件夹格式)添加到内容根目录、对其进行签名、构建包并安装时,签名被删除了。不包括内容根目录中的图标文件夹,解决了我的问题。
我在签署 OSX 苹果商店外分发申请时遇到了一个奇怪的行为。
构建应用程序后,使用 Developer ID 应用程序证书对应用程序包进行签名。
运行
spctl -a -vvvv $app;
返回成功接受使用 WhiteBox 包为已签名的应用程序构建 pkg 安装程序 http://s.sudre.free.fr/Software/Packages/about.html
产品使用 Developer ID Installer 证书签署了 .pkg
用
spctl -a -vvvv --type install $installer
检查了 .pkg,再次接受它。从 pkg 安装应用程序,并使用
spctl -a -vvvv $app;
检查 .app,然后被拒绝。
会不会是在安装过程中使用 WhiteBox Packages 以某种方式修改了 .app 包?
FWI 以下是我签署申请的方式:
# First parameter is app location
function sign_app(){
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/crash_inspector";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Framework.framework";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Helper EH.app";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Helper NP.app";
codesign --force --verify --verbose --sign "$identity" "/Contents/Frameworks/nwjs Helper.app";
codesign --force --verify --verbose --sign "$identity" "/Contents/Icon";
codesign --force --verify --verbose --sign "$identity" "";
codesign -vvv -d ;
spctl -a -vvvv ;
}
# First parameter package location, second parameter - signed package output location
function sign_installer(){
productsign --sign "$installerID" ;
spctl -a -vvvv --type install ;
}
出于某种奇怪的原因,似乎当您将图标(文件夹格式)添加到内容根目录、对其进行签名、构建包并安装时,签名被删除了。不包括内容根目录中的图标文件夹,解决了我的问题。