Skip to content

Commit

Permalink
docs(appx): code signing info, thanks to Matteo Pagani from Microsoft
Browse files Browse the repository at this point in the history
  • Loading branch information
develar committed Sep 30, 2017
1 parent 1677629 commit 223893f
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 5 deletions.
18 changes: 18 additions & 0 deletions docs/api/electron-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ Developer API only. See [Configuration](/configuration/configuration.md) for use
* [`.ArtifactCreated`](#ArtifactCreated)
* [`.BeforeBuildContext`](#BeforeBuildContext)
* [`.BuildResult`](#BuildResult)
* [`.CertificateFromStoreInfo`](#CertificateFromStoreInfo)
* [`.CommonLinuxOptions`](#CommonLinuxOptions)
* [`.CommonNsisOptions`](#CommonNsisOptions)
* [`.FileCodeSigningInfo`](#FileCodeSigningInfo)
* [`.FileSet`](#FileSet)
* [`.ForgeOptions`](#ForgeOptions)
* [`.LinuxTargetSpecificOptions`](#LinuxTargetSpecificOptions) ⇐ <code>[CommonLinuxOptions](#CommonLinuxOptions)</code>
Expand Down Expand Up @@ -78,6 +80,15 @@ Developer API only. See [Configuration](/configuration/configuration.md) for use
* **<code id="BuildResult-outDir">outDir</code>** String
* **<code id="BuildResult-platformToTargets">platformToTargets</code>** Map&lt;[Platform](#Platform) | Map&lt;String | [Target](#Target)&gt;&gt;

<a name="CertificateFromStoreInfo"></a>
## `CertificateFromStoreInfo`
**Kind**: interface of [<code>electron-builder</code>](#module_electron-builder)<br/>
**Properties**
* **<code id="CertificateFromStoreInfo-thumbprint">thumbprint</code>** String
* **<code id="CertificateFromStoreInfo-subject">subject</code>** String
* **<code id="CertificateFromStoreInfo-store">store</code>** String
* **<code id="CertificateFromStoreInfo-isLocalMachineStore">isLocalMachineStore</code>** Boolean

<a name="CommonLinuxOptions"></a>
## `CommonLinuxOptions`
**Kind**: interface of [<code>electron-builder</code>](#module_electron-builder)<br/>
Expand All @@ -95,6 +106,13 @@ Developer API only. See [Configuration](/configuration/configuration.md) for use
* <code id="CommonNsisOptions-guid">guid</code> String - See [GUID vs Application Name](../configuration/nsis.md#guid-vs-application-name).
* <code id="CommonNsisOptions-warningsAsErrors">warningsAsErrors</code> = `true` Boolean - If `warningsAsErrors` is `true` (default): NSIS will treat warnings as errors. If `warningsAsErrors` is `false`: NSIS will allow warnings.

<a name="FileCodeSigningInfo"></a>
## `FileCodeSigningInfo`
**Kind**: interface of [<code>electron-builder</code>](#module_electron-builder)<br/>
**Properties**
* **<code id="FileCodeSigningInfo-file">file</code>** String
* <code id="FileCodeSigningInfo-password">password</code> String

<a name="FileSet"></a>
## `FileSet`
**Kind**: interface of [<code>electron-builder</code>](#module_electron-builder)<br/>
Expand Down
7 changes: 6 additions & 1 deletion docs/configuration/appx.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ All options are optional. All required for AppX configuration is inferred and co
* <code id="AppXOptions-backgroundColor">backgroundColor</code> = `#464646` String - The background color of the app tile. See [Visual Elements](https://msdn.microsoft.com/en-us/library/windows/apps/br211471.aspx).
* <code id="AppXOptions-displayName">displayName</code> String - A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx). Defaults to the application product name.
* <code id="AppXOptions-identityName">identityName</code> String - The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](/configuration/configuration#Metadata-name).
* <code id="AppXOptions-publisher">publisher</code> String - Describes the publisher information in a form `CN=your name exactly as in your cert`. The Publisher attribute must match the publisher subject information of the certificate used to sign a package. By default will be extracted from code sign certificate. Specify publisher only if electron-builder cannot compute correct one.
* <code id="AppXOptions-publisher">publisher</code> String - The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.
* <code id="AppXOptions-publisherDisplayName">publisherDisplayName</code> String - A friendly name for the publisher that can be displayed to users. Corresponds to [Properties.PublisherDisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211460.aspx). Defaults to company name from the application metadata.
* <code id="AppXOptions-languages">languages</code> Array&lt;String&gt; | String - The list of [supported languages](https://docs.microsoft.com/en-us/windows/uwp/globalizing/manage-language-and-region#specify-the-supported-languages-in-the-apps-manifest) that will be listed in the Windows Store. The first entry (index 0) will be the default language. Defaults to en-US if omitted.

Expand All @@ -16,6 +16,11 @@ Inherited from `TargetSpecificOptions`:
* <code id="AppXOptions-publish">publish</code> The [publish](/configuration/publish.md) options.
<!-- end of generated block -->

## AppX Package Code Signing

* If the AppX package is meant for enterprise or self-made distribution (manually install the app without using the Store for testing or for enterprise distribution), it must be [signed](/code-signing.md).
* If the AppX package is meant for Windows Store distribution, no need to sign the package with any certificate. The Windows Store will take care of signing it with a Microsoft certificate during the submission process.

## AppX Assets

AppX assets need to be placed in the `appx` folder in the [build](/configuration/configuration.md#MetadataDirectories-buildResources) directory.
Expand Down
4 changes: 2 additions & 2 deletions docs/configuration/win.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ The top-level [win](configuration.md#Configuration-win) key contains set of opti
* <code id="WindowsConfiguration-sign">sign</code> String | (configuration: CustomWindowsSignTaskConfiguration) => Promise - The custom function (or path to file or module id) to sign Windows executable.
* <code id="WindowsConfiguration-certificateFile">certificateFile</code> String - The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable `CSC_LINK` (`WIN_CSC_LINK`) for some reason. Please see [Code Signing](../code-signing.md).
* <code id="WindowsConfiguration-certificatePassword">certificatePassword</code> String - The password to the certificate provided in `certificateFile`. Please use it only if you cannot use env variable `CSC_KEY_PASSWORD` (`WIN_CSC_KEY_PASSWORD`) for some reason. Please see [Code Signing](../code-signing.md).
* <code id="WindowsConfiguration-certificateSubjectName">certificateSubjectName</code> String - The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows.
* <code id="WindowsConfiguration-certificateSha1">certificateSha1</code> String - The SHA1 hash of the signing certificate. The SHA1 hash is commonly specified when multiple certificates satisfy the criteria specified by the remaining switches. Works only on Windows.
* <code id="WindowsConfiguration-certificateSubjectName">certificateSubjectName</code> String - The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows (or on macOS if [Parallels Desktop](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).
* <code id="WindowsConfiguration-certificateSha1">certificateSha1</code> String - The SHA1 hash of the signing certificate. The SHA1 hash is commonly specified when multiple certificates satisfy the criteria specified by the remaining switches. Works only on Windows (or on macOS if [Parallels Desktop](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).
* <code id="WindowsConfiguration-additionalCertificateFile">additionalCertificateFile</code> String - The path to an additional certificate file you want to add to the signature block.
* <code id="WindowsConfiguration-rfc3161TimeStampServer">rfc3161TimeStampServer</code> = `http://timestamp.comodoca.com/rfc3161` String - The URL of the RFC 3161 time stamp server.
* <code id="WindowsConfiguration-timeStampServer">timeStampServer</code> = `http://timestamp.verisign.com/scripts/timstamp.dll` String - The URL of the time stamp server.
Expand Down
3 changes: 1 addition & 2 deletions packages/electron-builder/src/options/winOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,7 @@ export interface AppXOptions extends TargetSpecificOptions {
readonly identityName?: string | null

/**
* Describes the publisher information in a form `CN=your name exactly as in your cert`. The Publisher attribute must match the publisher subject information of the certificate used to sign a package.
* By default will be extracted from code sign certificate. Specify publisher only if electron-builder cannot compute correct one.
* The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.
*/
readonly publisher?: string | null

Expand Down

0 comments on commit 223893f

Please sign in to comment.