Interface PerFileSignOptions

A set of signing options that can be overriden on a per-file basis. Any missing options will use the default values, and providing a partial structure will shallow merge with the default values.

interface PerFileSignOptions {
    additionalArguments?: string[];
    entitlements?: string | string[];
    hardenedRuntime?: boolean;
    requirements?: string;
    signatureFlags?: string | string[];
    timestamp?: string;
}

Properties

additionalArguments?: string[]

Additional raw arguments to pass to the codesign command.

These can be things like --deep for instance when code signing specific resources that may require such arguments.

https://keith.github.io/xcode-man-pages/codesign.1.html#OPTIONS

entitlements?: string | string[]

String specifying the path to an entitlements.plist file. Can also be an array of entitlement keys that osx-sign will write to an entitlements file for you.

Default Value

@electron/osx-sign's built-in entitlements files.

hardenedRuntime?: boolean

Whether to enable Hardened Runtime for this file.

Note: Hardened Runtime is a pre-requisite for notarization, which is mandatory for apps running on macOS 10.15 and above.

Default Value

true

requirements?: string

Either a string beginning with = which specifies in plain text the signing requirements that you recommend to be used to evaluate the code signature, or a string specifying a path to a text or properly encoded .rqset file which contains those requirements.

signatureFlags?: string | string[]

When signing, a set of option flags can be specified to change the behavior of the system when using the signed code. Accepts an array of strings or a comma-separated string.

See --options of the codesign command.

https://keith.github.io/xcode-man-pages/codesign.1.html#OPTION_FLAGS

timestamp?: string

String specifying the URL of the timestamp authority server. Please note that this default server may not support signatures not furnished by Apple. Disable the timestamp service with none.

Default Value

Uses the Apple-provided timestamp server.