From aba7b485ed1e3c74c59658ed9e3588a679e724cc Mon Sep 17 00:00:00 2001 From: Shiqi Yang Date: Sat, 21 Sep 2019 01:31:45 -0700 Subject: [PATCH] review feedback --- README.md | 4 ++-- bin/electron-osx-sign-usage.txt | 2 +- sign.js | 16 ++++++++++------ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 1362e73..7c0d648 100644 --- a/README.md +++ b/README.md @@ -226,8 +226,8 @@ Default to `undefined`. *** To be deprecated, see `signature-flags` *** Restrict dyld loading. See doc about this [code signature flag](https://developer.apple.com/documentation/security/seccodesignatureflags/kseccodesignaturerestrict?language=objc) for more details. Disabled by default. -`signature-flags` - *String* -comma separated string for [code signature flag](https://developer.apple.com/documentation/security/seccodesignatureflags?language=objc). Default is `underfined` +`signature-flags` - *String|String[]* +comma separated string or array for [code signature flag](https://developer.apple.com/documentation/security/seccodesignatureflags?language=objc). Default is `undefined` `strict-verify` - *Boolean|String|Array.* diff --git a/bin/electron-osx-sign-usage.txt b/bin/electron-osx-sign-usage.txt index b5c87e1..ef42af8 100644 --- a/bin/electron-osx-sign-usage.txt +++ b/bin/electron-osx-sign-usage.txt @@ -67,7 +67,7 @@ DESCRIPTION Flag to enable restrict mode. Disabled by default. (this will be deprecated soon, see --sign-flags) --signature-flags=flags - code signature flags. Default to none + Code signature flags. Default to none. --strict-verify, --strict-verify=options, --no-strict-verify Flag to enable/disable ``--strict'' flag when verifying the signed application bundle. diff --git a/sign.js b/sign.js index c7b8e58..ec3e567 100644 --- a/sign.js +++ b/sign.js @@ -158,16 +158,20 @@ function signApplicationAsync (opts) { } else { args.push('--timestamp') } - var optionsArguments = [] + let optionsArguments = [] if (opts['signature-flags']) { - var flags = opts['signature-flags'].split(',').map(function (flag) { return flag.trim() }) - flags.forEach(element => { - optionsArguments.push(element) - }) + if (Array.isArray(opts['signature-flags'])) { + optionsArguments = [...opts['signature-flags']] + } else { + const flags = opts['signature-flags'].split(',').map(function (flag) { return flag.trim() }) + flags.forEach(element => { + optionsArguments.push(element) + }) + } } - if (opts.hardenedRuntime || opts['hardened-runtime' || optionsArguments.includes('runtime')]) { + if (opts.hardenedRuntime || opts['hardened-runtime'] || optionsArguments.includes('runtime')) { // Hardened runtime since darwin 17.7.0 --> macOS 10.13.6 if (compareVersion(osRelease, '17.7.0') >= 0) { optionsArguments.push('runtime')