Go to file
Matt Mitchell a0ab0964d4
[release/5.0] Fix some post-build signing issues (#26506)
* Fix some post-build signing issues
This fixes some post-build signing issues that are present in the aspnetcore repo
1. Add the .msi extension to be signed by Microsoft400 - Msis must be signed. With in-build signing these get handled explicitly by the wixproj infrastructure. When we do post build signing, we must sign these files.
2. Remove the strong name exclusions. These exclusions are incorrect when applied in post-build and unnecessary for in-build signing. Most importantly, the aspnetcore PKT would not end up re-strong named (it doesn't need to be strong name signed by ESRP since it's strong named in-build) because the PKT doesn't match any of the StrongNameSignInfo specified in arcade. The rest of the entries seem to be mostly about optimization. I could not find any performance difference between these entries being present and not. I am not sure whether they actually even apply to any assets. Moreover, when doing post-build signing, they would conflict with the entries in runtime and other places.

Verification - I have a tool that I wrote which unpacks every file between two directories and compares the strong name, nuget, and authenticode certs between equivalent files. This is the same tool being used to verify post-build signing. This tool shows no difference in any aspnetcore produced asset.

Baseline: https://dev.azure.com/dnceng/internal/_build/results?buildId=836183&view=results
Diff: https://dev.azure.com/dnceng/internal/_build/results?buildId=837176&view=results

* Do not push VS packages for installers when PostBuildSign == true

* Output wix command packages to the installers output path

* Don't import microbuild signing targets from wix when PostBuildSign=true

* Tweaks:
- Don't sign wixpacks when not in post-build signing
- Generate a wixpack for both the original msi name (which the wixproj generates) AND the name we use in the final outputs. This is because while these files are the same, signing differentiates the certificate based on the file name, and wixpack lookup is also based on the file names. Aspnetcore and other repos have uses the final outputs (e.g. dotnet-aspnetcore-runtime-123.5..) as well as the internal names (e.g. AspNetCoreSharedFramework_x64.msi).
- Don't sign msi's when not post-build signing.

* Avoid generating sha512 files for wixpack zips

* Don't run xplat code sign jobs if PostBuildSign == true

* Change original target names

* Conditionalize codesign operations

* Add publishing flag for linux x64 and add deb sha512 generation

* Do not push the x64 linux runtime archive more than once
2020-10-14 10:19:10 -07:00
.azure/pipelines [release/5.0] Fix some post-build signing issues (#26506) 2020-10-14 10:19:10 -07:00
.config
.github React to runtime release branch rename (#25026) 2020-08-19 01:25:51 +00:00
.vscode
docs Fix invalid Build command (#24771) 2020-08-11 18:27:46 +00:00
eng [release/5.0] Fix some post-build signing issues (#26506) 2020-10-14 10:19:10 -07:00
src [release/5.0] Fix some post-build signing issues (#26506) 2020-10-14 10:19:10 -07:00
.editorconfig Enable FxCop Analyzers for the repo (#23709) 2020-07-08 15:26:22 -07:00
.gitattributes
.gitignore
.gitmodules
.vsconfig
AspNetCore.sln Remove Microsoft.Components.Web.Extensions (#26256) (#26298) 2020-09-25 12:14:56 -07:00
CODE-OF-CONDUCT.md
CONTRIBUTING.md
Directory.Build.props Fix Helix testing issues with stable versions and local builds (#25865) 2020-09-13 21:45:23 -07:00
Directory.Build.targets Update assembly versions when servicing (#24952) 2020-09-16 09:58:08 -07:00
LICENSE.txt
NuGet.config Update dependencies from https://github.com/dotnet/efcore build 20201013.1 (#26857) 2020-10-13 21:06:34 +00:00
README.md Added the link to the IssueManagementPolicies document (#24591) 2020-08-05 15:03:59 -07:00
SECURITY.md
THIRD-PARTY-NOTICES.txt Add Swashbuckle to Third-Party-Notices.txt (#26012) 2020-09-17 13:19:55 -07:00
activate.ps1
activate.sh
build.cmd
build.ps1 Enable ARM64 installers build. (#25579) 2020-09-10 10:59:37 -07:00
build.sh
clean.cmd
clean.ps1
clean.sh
dockerbuild.sh Pass through BUILD_REPOSITORY_NAME to docker containers (#25620) 2020-09-04 10:07:31 -07:00
global.json [release/5.0] Update dependencies from dotnet/arcade (#26817) 2020-10-14 04:35:26 +00:00
restore.cmd
restore.sh
startvs.cmd

README.md

ASP.NET Core

ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps run on .NET Core, a free, cross-platform and open-source application runtime. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. Learn more about ASP.NET Core.

Get Started

Follow the Getting Started instructions in the ASP.NET Core docs.

Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.

See the Triage Process document for more information on how we handle incoming issues.

How to Engage, Contribute, and Give Feedback

Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

These are some other repos for related projects:

Code of conduct

See CODE-OF-CONDUCT