UNPKG

26.3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/winPackager.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, asArray, exec, execWine, InvalidConfigurationError, log, use } from \"builder-util\"\nimport { parseDn } from \"builder-util-runtime\"\nimport { createHash } from \"crypto\"\nimport _debug from \"debug\"\nimport { readdir } from \"fs-extra-p\"\nimport isCI from \"is-ci\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { FileTransformer, CopyFileTransformer } from \"builder-util/out/fs\"\nimport { orIfFileNotExist } from \"builder-util/out/promise\"\nimport { downloadCertificate } from \"./codeSign\"\nimport { AfterPackContext } from \"./configuration\"\nimport { DIR_TARGET, Platform, Target } from \"./core\"\nimport { RequestedExecutionLevel, WindowsConfiguration } from \"./options/winOptions\"\nimport { Packager } from \"./packager\"\nimport { chooseNotNull, PlatformPackager } from \"./platformPackager\"\nimport AppXTarget from \"./targets/AppxTarget\"\nimport { NsisTarget } from \"./targets/nsis/NsisTarget\"\nimport { AppPackageHelper, CopyElevateHelper } from \"./targets/nsis/nsisUtil\"\nimport { WebInstallerTarget } from \"./targets/nsis/WebInstallerTarget\"\nimport { createCommonTarget } from \"./targets/targetFactory\"\nimport { BuildCacheManager, digest } from \"./util/cacheManager\"\nimport { isBuildCacheEnabled } from \"./util/flags\"\nimport { time } from \"./util/timer\"\nimport { getWindowsVm, VmManager } from \"./vm/vm\"\nimport { CertificateFromStoreInfo, FileCodeSigningInfo, getCertificateFromStoreInfo, getSignVendorPath, sign, WindowsSignOptions } from \"./windowsCodeSign\"\nimport BluebirdPromise from \"bluebird-lst\"\n\nexport class WinPackager extends PlatformPackager<WindowsConfiguration> {\n readonly cscInfo = new Lazy<FileCodeSigningInfo | CertificateFromStoreInfo | null>(() => {\n const platformSpecificBuildOptions = this.platformSpecificBuildOptions\n if (platformSpecificBuildOptions.certificateSubjectName != null || platformSpecificBuildOptions.certificateSha1 != null) {\n return this.vm.value\n .then(vm => getCertificateFromStoreInfo(platformSpecificBuildOptions, vm))\n .catch(e => {\n // https://github.com/electron-userland/electron-builder/pull/2397\n if (platformSpecificBuildOptions.sign == null) {\n throw e\n }\n else {\n log.debug({error: e}, \"getCertificateFromStoreInfo error\")\n return null\n }\n })\n }\n\n const certificateFile = platformSpecificBuildOptions.certificateFile\n if (certificateFile != null) {\n const certificatePassword = this.getCscPassword()\n return Promise.resolve({\n file: certificateFile,\n password: certificatePassword == null ? null : certificatePassword.trim(),\n })\n }\n\n const cscLink = this.getCscLink(\"WIN_CSC_LINK\")\n if (cscLink == null) {\n return Promise.resolve(null)\n }\n\n return downloadCertificate(cscLink, this.info.tempDirManager, this.projectDir)\n .then(path => {\n return {\n file: path!!,\n password: this.getCscPassword(),\n }\n })\n })\n\n private _iconPath = new Lazy(() => this.getOrConvertIcon(\"ico\"))\n\n readonly vm = new Lazy<VmManager>(() => process.platform === \"win32\" ? Promise.resolve(new VmManager()) : getWindowsVm(this.debugLogger))\n\n readonly computedPublisherSubjectOnWindowsOnly = new Lazy<string | null>(async () => {\n const cscInfo = await this.cscInfo.value\n if (cscInfo == null) {\n return null\n }\n\n if (\"subject\" in cscInfo) {\n return (cscInfo as CertificateFromStoreInfo).subject\n }\n\n const vm = await this.vm.value\n const info = cscInfo as FileCodeSigningInfo\n const certFile = vm.toVmFile(info.file)\n // https://github.com/electron-userland/electron-builder/issues/1735\n const args = info.password ? [`(Get-PfxData \"${certFile}\" -Password (ConvertTo-SecureString -String \"${info.password}\" -Force -AsPlainText)).EndEntityCertificates.Subject`] : [`(Get-PfxCertificate \"${certFile}\").Subject`]\n return await vm.exec(\"powershell.exe\", [\"-NoProfile\", \"-NonInteractive\", \"-Command\"].concat(args), {timeout: 30 * 1000}).then(it => it.trim())\n })\n\n readonly computedPublisherName = new Lazy<Array<string> | null>(async () => {\n let publisherName = (this.platformSpecificBuildOptions as WindowsConfiguration).publisherName\n if (publisherName === null) {\n return null\n }\n\n const cscInfo = await this.cscInfo.value\n if (cscInfo == null) {\n return null\n }\n\n if (\"subject\" in cscInfo) {\n return asArray(parseDn((cscInfo as CertificateFromStoreInfo).subject).get(\"CN\"))\n }\n\n const cscFile = (cscInfo as FileCodeSigningInfo).file\n if (publisherName == null && cscFile != null) {\n try {\n if (process.platform === \"win32\") {\n const subject = await this.computedPublisherSubjectOnWindowsOnly.value\n const commonName = subject == null ? null : parseDn(subject).get(\"CN\")\n if (commonName) {\n return asArray(commonName)\n }\n }\n else {\n publisherName = await extractCommonNameUsingOpenssl((cscInfo as FileCodeSigningInfo).password || \"\", cscFile)\n }\n }\n catch (e) {\n throw new Error(`Cannot extract publisher name from code signing certificate, please file issue. As workaround, set win.publisherName: ${e.stack || e}`)\n }\n }\n\n return publisherName == null ? null : asArray(publisherName)\n })\n\n get isForceCodeSigningVerification(): boolean {\n return this.platformSpecificBuildOptions.verifyUpdateCodeSignature !== false\n }\n\n constructor(info: Packager) {\n super(info, Platform.WINDOWS)\n }\n\n get defaultTarget(): Array<string> {\n return [\"nsis\"]\n }\n\n protected doGetCscPassword(): string | undefined | null {\n return chooseNotNull(chooseNotNull(this.platformSpecificBuildOptions.certificatePassword, process.env.WIN_CSC_KEY_PASSWORD), super.doGetCscPassword())\n }\n\n createTargets(targets: Array<string>, mapper: (name: string, factory: (outDir: string) => Target) => void): void {\n let copyElevateHelper: CopyElevateHelper | null\n const getCopyElevateHelper = () => {\n if (copyElevateHelper == null) {\n copyElevateHelper = new CopyElevateHelper()\n }\n return copyElevateHelper\n }\n\n let helper: AppPackageHelper | null\n const getHelper = () => {\n if (helper == null) {\n helper = new AppPackageHelper(getCopyElevateHelper())\n }\n return helper\n }\n\n for (const name of targets) {\n if (name === DIR_TARGET) {\n continue\n }\n\n if (name === \"nsis\" || name === \"portable\") {\n mapper(name, outDir => new NsisTarget(this, outDir, name, getHelper()))\n }\n else if (name === \"nsis-web\") {\n // package file format differs from nsis target\n mapper(name, outDir => new WebInstallerTarget(this, path.join(outDir, name), name, new AppPackageHelper(getCopyElevateHelper())))\n }\n else {\n const targetClass: typeof NsisTarget | typeof AppXTarget | null = (() => {\n switch (name) {\n case \"squirrel\":\n try {\n return require(\"electron-builder-squirrel-windows\").default\n }\n catch (e) {\n throw new InvalidConfigurationError(`Module electron-builder-squirrel-windows must be installed in addition to build Squirrel.Windows: ${e.stack || e}`)\n }\n\n case \"appx\":\n return require(\"./targets/AppxTarget\").default\n\n case \"msi\":\n return require(\"./targets/MsiTarget\").default\n\n default:\n return null\n }\n })()\n\n mapper(name, outDir => targetClass === null ? createCommonTarget(name, outDir, this) : new (targetClass as any)(this, outDir, name))\n }\n }\n }\n\n getIconPath() {\n return this._iconPath.value\n }\n\n async sign(file: string, logMessagePrefix?: string): Promise<void> {\n const signOptions: WindowsSignOptions = {\n path: file,\n name: this.appInfo.productName,\n site: await this.appInfo.computePackageUrl(),\n options: this.platformSpecificBuildOptions,\n }\n\n const cscInfo = await this.cscInfo.value\n if (cscInfo == null) {\n if (this.platformSpecificBuildOptions.sign != null) {\n await sign(signOptions, this)\n }\n else if (this.forceCodeSigning) {\n throw new InvalidConfigurationError(`App is not signed and \"forceCodeSigning\" is set to true, please ensure that code signing configuration is correct, please see https://electron.build/code-signing`)\n }\n return\n }\n\n if (logMessagePrefix == null) {\n logMessagePrefix = \"signing\"\n }\n\n if (\"file\" in cscInfo) {\n log.info({\n file: log.filePath(file),\n certificateFile: (cscInfo as FileCodeSigningInfo).file,\n }, logMessagePrefix)\n }\n else {\n const info = cscInfo as CertificateFromStoreInfo\n log.info({\n file: log.filePath(file),\n subject: info.subject,\n thumbprint: info.thumbprint,\n store: info.store,\n user: info.isLocalMachineStore ? \"local machine\" : \"current user\",\n }, logMessagePrefix)\n }\n\n await this.doSign({\n ...signOptions,\n cscInfo,\n options: {\n ...this.platformSpecificBuildOptions,\n },\n })\n }\n\n private async doSign(options: WindowsSignOptions) {\n for (let i = 0; i < 3; i++) {\n try {\n await sign(options, this)\n break\n }\n catch (e) {\n // https://github.com/electron-userland/electron-builder/issues/1414\n const message = e.message\n if (message != null && message.includes(\"Couldn't resolve host name\")) {\n log.warn({error: message, attempt: i + 1}, `cannot sign`)\n continue\n }\n throw e\n }\n }\n }\n\n async signAndEditResources(file: string, arch: Arch, outDir: string, internalName?: string | null, requestedExecutionLevel?: RequestedExecutionLevel | null) {\n const appInfo = this.appInfo\n\n const files: Array<string> = []\n\n const args = [\n file,\n \"--set-version-string\", \"FileDescription\", appInfo.productName,\n \"--set-version-string\", \"ProductName\", appInfo.productName,\n \"--set-version-string\", \"LegalCopyright\", appInfo.copyright,\n \"--set-file-version\", appInfo.buildVersion,\n \"--set-product-version\", appInfo.versionInWeirdWindowsForm,\n ]\n\n if (internalName != null) {\n args.push(\n \"--set-version-string\", \"InternalName\", internalName,\n \"--set-version-string\", \"OriginalFilename\", \"\",\n )\n }\n\n if (requestedExecutionLevel != null && requestedExecutionLevel !== \"asInvoker\") {\n args.push(\"--set-requested-execution-level\", requestedExecutionLevel)\n }\n\n use(appInfo.companyName, it => args.push(\"--set-version-string\", \"CompanyName\", it!))\n use(this.platformSpecificBuildOptions.legalTrademarks, it => args.push(\"--set-version-string\", \"LegalTrademarks\", it!))\n const iconPath = await this.getIconPath()\n use(iconPath, it => {\n files.push(it)\n args.push(\"--set-icon\", it)\n })\n\n const config = this.config\n const cscInfoForCacheDigest = !isBuildCacheEnabled() || isCI || config.electronDist != null ? null : await this.cscInfo.value\n let buildCacheManager: BuildCacheManager | null = null\n // resources editing doesn't change executable for the same input and executed quickly - no need to complicate\n if (cscInfoForCacheDigest != null) {\n const cscFile = (cscInfoForCacheDigest as FileCodeSigningInfo).file\n if (cscFile != null) {\n files.push(cscFile)\n }\n\n const timer = time(\"executable cache\")\n const hash = createHash(\"sha512\")\n hash.update(config.electronVersion || \"no electronVersion\")\n hash.update(config.muonVersion || \"no muonVersion\")\n hash.update(JSON.stringify(this.platformSpecificBuildOptions))\n hash.update(JSON.stringify(args))\n hash.update(this.platformSpecificBuildOptions.certificateSha1 || \"no certificateSha1\")\n hash.update(this.platformSpecificBuildOptions.certificateSubjectName || \"no subjectName\")\n\n buildCacheManager = new BuildCacheManager(outDir, file, arch)\n if (await buildCacheManager.copyIfValid(await digest(hash, files))) {\n timer.end()\n return\n }\n timer.end()\n }\n\n const timer = time(\"wine&sign\")\n // wine supports only ia32\n await execWine(path.join(await getSignVendorPath(), `rcedit-${process.platform === \"win32\" ? process.arch : \"ia32\"}.exe`), args)\n await this.sign(file)\n timer.end()\n\n if (buildCacheManager != null) {\n await buildCacheManager.save()\n }\n }\n\n private isSignDlls(): boolean {\n return this.platformSpecificBuildOptions.signDlls === true\n }\n\n protected createTransformerForExtraFiles(packContext: AfterPackContext): FileTransformer | null {\n if (this.platformSpecificBuildOptions.signAndEditExecutable === false) {\n return null\n }\n\n return file => {\n if (file.endsWith(\".exe\") || (this.isSignDlls() && file.endsWith(\".dll\"))) {\n const parentDir = path.dirname(file)\n if (parentDir !== packContext.appOutDir) {\n return new CopyFileTransformer(file => this.sign(file))\n }\n }\n return null\n }\n }\n\n protected async signApp(packContext: AfterPackContext, isAsar: boolean): Promise<any> {\n const exeFileName = `${this.appInfo.productFilename}.exe`\n if (this.platformSpecificBuildOptions.signAndEditExecutable === false) {\n return\n }\n\n await BluebirdPromise.map(readdir(packContext.appOutDir), (file: string): any => {\n if (file === exeFileName) {\n return this.signAndEditResources(path.join(packContext.appOutDir, exeFileName), packContext.arch, packContext.outDir, path.basename(exeFileName, \".exe\"), this.platformSpecificBuildOptions.requestedExecutionLevel)\n }\n else if (file.endsWith(\".exe\") || (this.isSignDlls() && file.endsWith(\".dll\"))) {\n return this.sign(path.join(packContext.appOutDir, file))\n }\n return null\n })\n\n if (!isAsar) {\n return\n }\n\n const outResourcesDir = path.join(packContext.appOutDir, \"resources\", \"app.asar.unpacked\")\n await BluebirdPromise.map(orIfFileNotExist(readdir(outResourcesDir), []), (file: string): any => {\n if (file.endsWith(\".exe\") || file.endsWith(\".dll\")) {\n return this.sign(path.join(outResourcesDir, file))\n }\n else {\n return null\n }\n })\n }\n}\n\nconst debugOpenssl = _debug(\"electron-builder:openssl\")\nasync function extractCommonNameUsingOpenssl(password: string, certPath: string): Promise<string> {\n const result = await exec(\"openssl\", [\"pkcs12\", \"-nokeys\", \"-nodes\", \"-passin\", `pass:${password}`, \"-nomacver\", \"-clcerts\", \"-in\", certPath], {timeout: 30 * 1000}, debugOpenssl.enabled)\n const match = result.match(/^subject.*\\/CN=([^\\/\\n]+)/m)\n if (match == null || match[1] == null) {\n throw new Error(`Cannot extract common name from p12: ${result}`)\n }\n else {\n return match[1]\n }\n}"],"sourceRoot":""}