From 0878f2e11bafb2f1e6f992fff6c49d859a4e569f Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Sun, 31 Jan 2021 19:23:33 -0500 Subject: Remove Burn Authenticode Fixes https://github.com/wixtoolset/issues/issues/6301 --- src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | 11 +- .../Bind/GenerateManifestDataFromIRCommand.cs | 1 - .../Bundles/CreateBurnManifestCommand.cs | 32 +---- .../Bundles/ProcessMsiPackageCommand.cs | 2 - .../Bundles/ProcessPayloadsCommand.cs | 34 ----- .../Bundles/VerifyPayloadsWithCatalogCommand.cs | 158 --------------------- src/WixToolset.Core.Burn/VerifyInterop.cs | 66 --------- src/WixToolset.Core/Compiler_Bundle.cs | 84 +---------- .../SingleExeBundle/SingleExeRemotePayload.wxs | 2 - 9 files changed, 5 insertions(+), 385 deletions(-) delete mode 100644 src/WixToolset.Core.Burn/Bundles/VerifyPayloadsWithCatalogCommand.cs delete mode 100644 src/WixToolset.Core.Burn/VerifyInterop.cs diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs index 2c8231f8..dea1f47d 100644 --- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs +++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs @@ -340,15 +340,6 @@ namespace WixToolset.Core.Burn command.Execute(); } - // If catalog files exist, non-embedded payloads should validate with the catalogs. - var catalogs = section.Symbols.OfType().ToList(); - - if (catalogs.Count > 0) - { - var command = new VerifyPayloadsWithCatalogCommand(this.Messaging, catalogs, payloadSymbols.Values); - command.Execute(); - } - if (this.Messaging.EncounteredError) { return; @@ -456,7 +447,7 @@ namespace WixToolset.Core.Burn { var executableName = Path.GetFileName(this.OutputPath); - var command = new CreateBurnManifestCommand(this.Messaging, this.BackendExtensions, executableName, section, bundleSymbol, containers, chainSymbol, orderedFacades, boundaries, uxPayloads, payloadSymbols, orderedSearches, catalogs, this.IntermediateFolder); + var command = new CreateBurnManifestCommand(this.Messaging, this.BackendExtensions, executableName, section, bundleSymbol, containers, chainSymbol, orderedFacades, boundaries, uxPayloads, payloadSymbols, orderedSearches, this.IntermediateFolder); command.Execute(); manifestPath = command.OutputPath; diff --git a/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs b/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs index 24a4ae67..93a1a0bc 100644 --- a/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs +++ b/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs @@ -63,7 +63,6 @@ namespace WixToolset.Core.Burn.Bind case SymbolDefinitionType.WixBootstrapperApplication: case SymbolDefinitionType.WixBootstrapperApplicationDll: case SymbolDefinitionType.WixBundle: - case SymbolDefinitionType.WixBundleCatalog: case SymbolDefinitionType.WixBundleContainer: case SymbolDefinitionType.WixBundleCustomDataAttribute: case SymbolDefinitionType.WixBundleExePackage: diff --git a/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs b/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs index 6eafcdd9..d12f00d1 100644 --- a/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs +++ b/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs @@ -18,7 +18,7 @@ namespace WixToolset.Core.Burn.Bundles internal class CreateBurnManifestCommand { - public CreateBurnManifestCommand(IMessaging messaging, IEnumerable backendExtensions, string executableName, IntermediateSection section, WixBundleSymbol bundleSymbol, IEnumerable containers, WixChainSymbol chainSymbol, IEnumerable orderedPackages, IEnumerable boundaries, IEnumerable uxPayloads, Dictionary allPayloadsById, IEnumerable orderedSearches, IEnumerable catalogs, string intermediateFolder) + public CreateBurnManifestCommand(IMessaging messaging, IEnumerable backendExtensions, string executableName, IntermediateSection section, WixBundleSymbol bundleSymbol, IEnumerable containers, WixChainSymbol chainSymbol, IEnumerable orderedPackages, IEnumerable boundaries, IEnumerable uxPayloads, Dictionary allPayloadsById, IEnumerable orderedSearches, string intermediateFolder) { this.Messaging = messaging; this.BackendExtensions = backendExtensions; @@ -32,7 +32,6 @@ namespace WixToolset.Core.Burn.Bundles this.UXContainerPayloads = uxPayloads; this.Payloads = allPayloadsById; this.OrderedSearches = orderedSearches; - this.Catalogs = catalogs; this.IntermediateFolder = intermediateFolder; } @@ -62,8 +61,6 @@ namespace WixToolset.Core.Burn.Bundles private IEnumerable UXContainerPayloads { get; } - private IEnumerable Catalogs { get; } - private string IntermediateFolder { get; } public void Execute() @@ -179,18 +176,6 @@ namespace WixToolset.Core.Burn.Bundles writer.WriteEndElement(); // - // write the catalog elements - if (this.Catalogs.Any()) - { - foreach (var catalog in this.Catalogs) - { - writer.WriteStartElement("Catalog"); - writer.WriteAttributeString("Id", catalog.Id.Id); - writer.WriteAttributeString("Payload", catalog.PayloadRef); - writer.WriteEndElement(); - } - } - foreach (var container in this.Containers) { if (!String.IsNullOrEmpty(container.WorkingPath) && BurnConstants.BurnUXContainerName != container.Id.Id) @@ -698,16 +683,6 @@ namespace WixToolset.Core.Burn.Bundles writer.WriteAttributeString("LayoutOnly", "yes"); } - if (!String.IsNullOrEmpty(payload.PublicKey)) - { - writer.WriteAttributeString("CertificateRootPublicKeyIdentifier", payload.PublicKey); - } - - if (!String.IsNullOrEmpty(payload.Thumbprint)) - { - writer.WriteAttributeString("CertificateRootThumbprint", payload.Thumbprint); - } - switch (payload.Packaging) { case PackagingType.Embedded: // this means it's in a container. @@ -742,11 +717,6 @@ namespace WixToolset.Core.Burn.Bundles writer.WriteAttributeString("SourcePath", payload.Name); break; } - - if (!String.IsNullOrEmpty(payload.CatalogRef)) - { - writer.WriteAttributeString("Catalog", payload.CatalogRef); - } } private string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName) diff --git a/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs b/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs index 7adbfcfd..e13561bc 100644 --- a/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs +++ b/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs @@ -406,7 +406,6 @@ namespace WixToolset.Core.Burn.Bundles PackageRef = packagePayload.PackageRef, ContainerRef = packagePayload.ContainerRef, ContentFile = true, - EnableSignatureValidation = packagePayload.EnableSignatureValidation, Packaging = packagePayload.Packaging, ParentPackagePayloadRef = packagePayload.Id.Id, }); @@ -484,7 +483,6 @@ namespace WixToolset.Core.Burn.Bundles PackageRef = packagePayload.PackageRef, ContainerRef = packagePayload.ContainerRef, ContentFile = true, - EnableSignatureValidation = packagePayload.EnableSignatureValidation, Packaging = packagePayload.Packaging, ParentPackagePayloadRef = packagePayload.Id.Id, }); diff --git a/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs b/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs index 69c4d7c2..8811c301 100644 --- a/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs +++ b/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs @@ -6,9 +6,6 @@ namespace WixToolset.Core.Burn.Bundles using System.Collections.Generic; using System.Diagnostics; using System.IO; - using System.Security.Cryptography; - using System.Security.Cryptography.X509Certificates; - using System.Text; using WixToolset.Data; using WixToolset.Data.Burn; using WixToolset.Data.Symbols; @@ -123,37 +120,6 @@ namespace WixToolset.Core.Burn.Bundles payload.FileSize = (int)fileInfo.Length; payload.Hash = BundleHashAlgorithm.Hash(fileInfo); - - // Try to get the certificate if the payload is a signed file and we're not suppressing signature validation. - if (payload.EnableSignatureValidation) - { - X509Certificate2 certificate = null; - try - { - certificate = new X509Certificate2(fileInfo.FullName); - } - catch (CryptographicException) // we don't care about non-signed files. - { - } - - // If there is a certificate, remember its hashed public key identifier and thumbprint. - if (null != certificate) - { - byte[] publicKeyIdentifierHash = new byte[128]; - uint publicKeyIdentifierHashSize = (uint)publicKeyIdentifierHash.Length; - - Native.NativeMethods.HashPublicKeyInfo(certificate.Handle, publicKeyIdentifierHash, ref publicKeyIdentifierHashSize); - - var sb = new StringBuilder(((int)publicKeyIdentifierHashSize + 1) * 2); - for (var i = 0; i < publicKeyIdentifierHashSize; ++i) - { - sb.AppendFormat("{0:X2}", publicKeyIdentifierHash[i]); - } - - payload.PublicKey = sb.ToString(); - payload.Thumbprint = certificate.Thumbprint; - } - } } else { diff --git a/src/WixToolset.Core.Burn/Bundles/VerifyPayloadsWithCatalogCommand.cs b/src/WixToolset.Core.Burn/Bundles/VerifyPayloadsWithCatalogCommand.cs deleted file mode 100644 index e7c97ea7..00000000 --- a/src/WixToolset.Core.Burn/Bundles/VerifyPayloadsWithCatalogCommand.cs +++ /dev/null @@ -1,158 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolset.Core.Burn.Bundles -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Runtime.InteropServices; - using System.Text; - using WixToolset.Data; - using WixToolset.Data.Symbols; - using WixToolset.Extensibility.Services; - - internal class VerifyPayloadsWithCatalogCommand - { - public VerifyPayloadsWithCatalogCommand(IMessaging messaging, IEnumerable catalogs, IEnumerable payloads) - { - this.Messaging = messaging; - this.Catalogs = catalogs; - this.Payloads = payloads; - } - - private IMessaging Messaging { get; } - - private IEnumerable Catalogs { get; } - - private IEnumerable Payloads { get; } - - public void Execute() - { - var catalogIdsWithPaths = this.Catalogs - .Join(this.Payloads, - catalog => catalog.PayloadRef, - payload => payload.Id.Id, - (catalog, payload) => new CatalogIdWithPath() { Id = catalog.Id.Id, FullPath = Path.GetFullPath(payload.SourceFile.Path) }) - .ToList(); - - foreach (var payloadInfo in this.Payloads) - { - // Payloads that are not embedded should be verfied. - if (String.IsNullOrEmpty(payloadInfo.EmbeddedId)) - { - var sourceFile = payloadInfo.SourceFile.Path; - var validated = false; - - foreach (var catalog in catalogIdsWithPaths) - { - if (!validated) - { - // Get the file hash - uint cryptHashSize = 20; - byte[] cryptHashBytes = new byte[cryptHashSize]; - int error; - using (var payloadStream = File.OpenRead(sourceFile)) - { - // Get the file handle - var fileHandle = payloadStream.SafeFileHandle.DangerousGetHandle(); - - // 20 bytes is usually the hash size. Future hashes may be bigger - if (!VerifyInterop.CryptCATAdminCalcHashFromFileHandle(fileHandle, ref cryptHashSize, cryptHashBytes, 0)) - { - error = Marshal.GetLastWin32Error(); - - if (VerifyInterop.ErrorInsufficientBuffer == error) - { - error = 0; - cryptHashBytes = new byte[cryptHashSize]; - if (!VerifyInterop.CryptCATAdminCalcHashFromFileHandle(fileHandle, ref cryptHashSize, cryptHashBytes, 0)) - { - error = Marshal.GetLastWin32Error(); - } - } - - if (0 != error) - { - this.Messaging.Write(ErrorMessages.CatalogFileHashFailed(sourceFile, error)); - } - } - } - - VerifyInterop.WinTrustCatalogInfo catalogData = new VerifyInterop.WinTrustCatalogInfo(); - VerifyInterop.WinTrustData trustData = new VerifyInterop.WinTrustData(); - try - { - // Create WINTRUST_CATALOG_INFO structure - catalogData.cbStruct = (uint)Marshal.SizeOf(catalogData); - catalogData.cbCalculatedFileHash = cryptHashSize; - catalogData.pbCalculatedFileHash = Marshal.AllocCoTaskMem((int)cryptHashSize); - Marshal.Copy(cryptHashBytes, 0, catalogData.pbCalculatedFileHash, (int)cryptHashSize); - - var hashString = new StringBuilder(); - foreach (var hashByte in cryptHashBytes) - { - hashString.Append(hashByte.ToString("X2")); - } - catalogData.pcwszMemberTag = hashString.ToString(); - - // The file names need to be lower case for older OSes - catalogData.pcwszMemberFilePath = sourceFile.ToLowerInvariant(); - catalogData.pcwszCatalogFilePath = catalog.FullPath.ToLowerInvariant(); - - // Create WINTRUST_DATA structure - trustData.cbStruct = (uint)Marshal.SizeOf(trustData); - trustData.dwUIChoice = VerifyInterop.WTD_UI_NONE; - trustData.fdwRevocationChecks = VerifyInterop.WTD_REVOKE_NONE; - trustData.dwUnionChoice = VerifyInterop.WTD_CHOICE_CATALOG; - trustData.dwStateAction = VerifyInterop.WTD_STATEACTION_VERIFY; - trustData.dwProvFlags = VerifyInterop.WTD_REVOCATION_CHECK_NONE; - - // Create the structure pointers for unmanaged - trustData.pCatalog = Marshal.AllocCoTaskMem(Marshal.SizeOf(catalogData)); - Marshal.StructureToPtr(catalogData, trustData.pCatalog, false); - - // Call WinTrustVerify to validate the file with the catalog - IntPtr noWindow = new IntPtr(-1); - Guid verifyGuid = new Guid(VerifyInterop.GenericVerify2); - long verifyResult = VerifyInterop.WinVerifyTrust(noWindow, ref verifyGuid, ref trustData); - if (0 == verifyResult) - { - payloadInfo.CatalogRef = catalog.Id; - validated = true; - break; - } - } - finally - { - // Free the structure memory - if (IntPtr.Zero != trustData.pCatalog) - { - Marshal.FreeCoTaskMem(trustData.pCatalog); - } - - if (IntPtr.Zero != catalogData.pbCalculatedFileHash) - { - Marshal.FreeCoTaskMem(catalogData.pbCalculatedFileHash); - } - } - } - } - - // Error message if the file was not validated by one of the catalogs - if (!validated) - { - this.Messaging.Write(ErrorMessages.CatalogVerificationFailed(sourceFile)); - } - } - } - } - - private class CatalogIdWithPath - { - public string Id { get; set; } - - public string FullPath { get; set; } - } - } -} diff --git a/src/WixToolset.Core.Burn/VerifyInterop.cs b/src/WixToolset.Core.Burn/VerifyInterop.cs deleted file mode 100644 index f021f1d0..00000000 --- a/src/WixToolset.Core.Burn/VerifyInterop.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolset -{ - using System; - using System.Runtime.InteropServices; - - internal class VerifyInterop - { - internal const string GenericVerify2 = "00AAC56B-CD44-11d0-8CC2-00C04FC295EE"; - internal const uint WTD_UI_NONE = 2; - internal const uint WTD_REVOKE_NONE = 0; - internal const uint WTD_CHOICE_CATALOG = 2; - internal const uint WTD_STATEACTION_VERIFY = 1; - internal const uint WTD_REVOCATION_CHECK_NONE = 0x10; - internal const int ErrorInsufficientBuffer = 122; - - [StructLayout(LayoutKind.Sequential)] - internal struct WinTrustData - { - internal uint cbStruct; - internal IntPtr pPolicyCallbackData; - internal IntPtr pSIPClientData; - internal uint dwUIChoice; - internal uint fdwRevocationChecks; - internal uint dwUnionChoice; - internal IntPtr pCatalog; - internal uint dwStateAction; - internal IntPtr hWVTStateData; - [MarshalAs(UnmanagedType.LPWStr)] - internal string pwszURLReference; - internal uint dwProvFlags; - internal uint dwUIContext; - } - - [StructLayout(LayoutKind.Sequential)] - internal struct WinTrustCatalogInfo - { - internal uint cbStruct; - internal uint dwCatalogVersion; - [MarshalAs(UnmanagedType.LPWStr)] - internal string pcwszCatalogFilePath; - [MarshalAs(UnmanagedType.LPWStr)] - internal string pcwszMemberTag; - [MarshalAs(UnmanagedType.LPWStr)] - internal string pcwszMemberFilePath; - internal IntPtr hMemberFile; - internal IntPtr pbCalculatedFileHash; - internal uint cbCalculatedFileHash; - internal IntPtr pcCatalogContext; - } - - [DllImport("wintrust.dll", SetLastError = true)] - internal static extern long WinVerifyTrust(IntPtr windowHandle, ref Guid actionGuid, ref WinTrustData trustData); - - [DllImport("wintrust.dll", SetLastError = true)] - [return: MarshalAs(UnmanagedType.Bool)] - internal static extern bool CryptCATAdminCalcHashFromFileHandle( - IntPtr fileHandle, - [In, Out] - ref uint hashSize, - [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] - byte[] hashBytes, - uint flags); - } -} diff --git a/src/WixToolset.Core/Compiler_Bundle.cs b/src/WixToolset.Core/Compiler_Bundle.cs index f0060a3e..944f089e 100644 --- a/src/WixToolset.Core/Compiler_Bundle.cs +++ b/src/WixToolset.Core/Compiler_Bundle.cs @@ -292,9 +292,6 @@ namespace WixToolset.Core case "OptionalUpdateRegistration": this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name); break; - case "Catalog": - this.ParseCatalogElement(child); - break; case "Chain": if (chainSeen) { @@ -484,59 +481,6 @@ namespace WixToolset.Core return YesNoType.Yes == disableLog ? null : String.Join(":", variable, logPrefix, logExtension); } - /// - /// Parse a Catalog element. - /// - /// Element to parse - private void ParseCatalogElement(XElement node) - { - var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); - Identifier id = null; - string sourceFile = null; - - foreach (var attrib in node.Attributes()) - { - if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || CompilerCore.WixNamespace == attrib.Name.Namespace) - { - switch (attrib.Name.LocalName) - { - case "Id": - id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); - break; - case "SourceFile": - sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); - break; - default: - this.Core.UnexpectedAttribute(node, attrib); - break; - } - } - } - - if (null == id) - { - this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); - } - - if (null == sourceFile) - { - this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); - } - - this.Core.ParseForExtensionElements(node); - - // Create catalog row - if (!this.Core.EncounteredError) - { - this.CreatePayloadRow(sourceLineNumbers, id, Path.GetFileName(sourceFile), sourceFile, null, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId, ComplexReferenceChildType.Unknown, null, YesNoDefaultType.Yes, YesNoType.Yes, null, null, null); - - this.Core.AddSymbol(new WixBundleCatalogSymbol(sourceLineNumbers, id) - { - PayloadRef = id.Id, - }); - } - } - /// /// Parse a Container element. /// @@ -1369,7 +1313,6 @@ namespace WixToolset.Core var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); var compressed = YesNoDefaultType.Default; - var enableSignatureVerification = YesNoType.No; id = null; string name = null; string sourceFile = null; @@ -1400,9 +1343,6 @@ namespace WixToolset.Core case "DownloadUrl": downloadUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib); break; - case "EnableSignatureVerification": - enableSignatureVerification = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); - break; case "DpiAwareness": if (node.Name.LocalName != "BootstrapperApplicationDll") { @@ -1457,7 +1397,7 @@ namespace WixToolset.Core return false; } - this.CreatePayloadRow(sourceLineNumbers, id, name, sourceFile, downloadUrl, parentType, parentId, previousType, previousId, compressed, enableSignatureVerification, null, null, null); + this.CreatePayloadRow(sourceLineNumbers, id, name, sourceFile, downloadUrl, parentType, parentId, previousType, previousId, compressed, null, null, null); return true; } @@ -1473,12 +1413,6 @@ namespace WixToolset.Core { switch (attrib.Name.LocalName) { - case "CertificatePublicKey": - remotePayload.CertificatePublicKey = this.Core.GetAttributeValue(sourceLineNumbers, attrib); - break; - case "CertificateThumbprint": - remotePayload.CertificateThumbprint = this.Core.GetAttributeValue(sourceLineNumbers, attrib); - break; case "Description": remotePayload.Description = this.Core.GetAttributeValue(sourceLineNumbers, attrib); break; @@ -1546,13 +1480,12 @@ namespace WixToolset.Core /// /// /// - /// /// /// /// /// private WixBundlePayloadSymbol CreatePayloadRow(SourceLineNumber sourceLineNumbers, Identifier id, string name, string sourceFile, string downloadUrl, ComplexReferenceParentType parentType, - Identifier parentId, ComplexReferenceChildType previousType, Identifier previousId, YesNoDefaultType compressed, YesNoType enableSignatureVerification, string displayName, string description, + Identifier parentId, ComplexReferenceChildType previousType, Identifier previousId, YesNoDefaultType compressed, string displayName, string description, RemotePayload remotePayload) { WixBundlePayloadSymbol symbol = null; @@ -1568,7 +1501,6 @@ namespace WixToolset.Core UnresolvedSourceFile = sourceFile, // duplicate of sourceFile but in a string column so it won't get resolved to a full path during binding. DisplayName = displayName, Description = description, - EnableSignatureValidation = (YesNoType.Yes == enableSignatureVerification) }); if (null != remotePayload) @@ -1576,8 +1508,6 @@ namespace WixToolset.Core symbol.Description = remotePayload.Description; symbol.DisplayName = remotePayload.ProductName; symbol.Hash = remotePayload.Hash; - symbol.PublicKey = remotePayload.CertificatePublicKey; - symbol.Thumbprint = remotePayload.CertificateThumbprint; symbol.FileSize = remotePayload.Size; symbol.Version = remotePayload.Version; } @@ -2120,7 +2050,6 @@ namespace WixToolset.Core string protocol = null; var installSize = CompilerConstants.IntegerNotSet; string msuKB = null; - var enableSignatureVerification = YesNoType.No; var compressed = YesNoDefaultType.Default; var enableFeatureSelection = YesNoType.NotSet; var forcePerMachine = YesNoType.NotSet; @@ -2249,9 +2178,6 @@ namespace WixToolset.Core case "Compressed": compressed = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib); break; - case "EnableSignatureVerification": - enableSignatureVerification = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); - break; case "Slipstream": slipstream = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); allowed = (packageType == WixBundlePackageType.Msp); @@ -2480,7 +2406,7 @@ namespace WixToolset.Core { // We create the package contents as a payload with this package as the parent this.CreatePayloadRow(sourceLineNumbers, id, name, sourceFile, downloadUrl, ComplexReferenceParentType.Package, id, - ComplexReferenceChildType.Unknown, null, compressed, enableSignatureVerification, displayName, description, remotePayload); + ComplexReferenceChildType.Unknown, null, compressed, displayName, description, remotePayload); this.Core.AddSymbol(new WixChainItemSymbol(sourceLineNumbers, id)); @@ -3301,10 +3227,6 @@ namespace WixToolset.Core private class RemotePayload { - public string CertificatePublicKey { get; set; } - - public string CertificateThumbprint { get; set; } - public string Description { get; set; } public string Hash { get; set; } diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleExeBundle/SingleExeRemotePayload.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleExeBundle/SingleExeRemotePayload.wxs index 6c6903b1..fcb9dd8d 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleExeBundle/SingleExeRemotePayload.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleExeBundle/SingleExeRemotePayload.wxs @@ -18,8 +18,6 @@ Compressed="no" Name="NDP462-KB3151802-Web.exe">