build: sign release package assemblies
This commit is contained in:
@@ -8,6 +8,12 @@
|
||||
<M42PackageTemplateDir Condition="'$(M42PackageTemplateDir)' == ''">$(MSBuildProjectDirectory)\..\PackageTemplate</M42PackageTemplateDir>
|
||||
<M42PackageOutputRoot Condition="'$(M42PackageOutputRoot)' == ''">$(MSBuildProjectDirectory)\..\artifacts</M42PackageOutputRoot>
|
||||
<M42PackageBuildScript Condition="'$(M42PackageBuildScript)' == ''">$(MSBuildProjectDirectory)\BuildM42Package.ps1</M42PackageBuildScript>
|
||||
<M42SignAssemblies Condition="'$(M42SignAssemblies)' == '' AND $([System.String]::Copy('$(Configuration)').StartsWith('Release'))">true</M42SignAssemblies>
|
||||
<M42SignAssemblies Condition="'$(M42SignAssemblies)' == ''">false</M42SignAssemblies>
|
||||
<M42SignTool Condition="'$(M42SignTool)' == ''">$(MSBuildProjectDirectory)\..\..\..\Common Code\Tools\signtool.exe</M42SignTool>
|
||||
<M42SignTimestampUrl Condition="'$(M42SignTimestampUrl)' == ''">http://rfc3161timestamp.globalsign.com/advanced</M42SignTimestampUrl>
|
||||
<M42SignDescription Condition="'$(M42SignDescription)' == ''">C4IT - F4SD - WebApi for M42</M42SignDescription>
|
||||
<M42SignOptions Condition="'$(M42SignOptions)' == ''">/a</M42SignOptions>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="M42_BuildAllRids"
|
||||
@@ -75,6 +81,23 @@
|
||||
Condition="'$(M42RootAssembliesDir)' != ''" />
|
||||
</Target>
|
||||
|
||||
<Target Name="M42_SignPackageAssemblies"
|
||||
BeforeTargets="M42_BuildPackage"
|
||||
Condition="'$(RuntimeIdentifier)' == '' AND '$(M42SignAssemblies)' == 'true'">
|
||||
<ItemGroup>
|
||||
<_M42AssembliesToSign Include="$(M42BasePackageAssembliesDir)\**\*.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Condition="!Exists('$(M42SignTool)')"
|
||||
Text="signtool.exe was not found: $(M42SignTool). Set M42SignTool or disable signing with /p:M42SignAssemblies=false." />
|
||||
|
||||
<Message Importance="High"
|
||||
Text="Signing Matrix42 package assemblies with $(M42SignTool)." />
|
||||
|
||||
<Exec Condition="'@(_M42AssembliesToSign)' != ''"
|
||||
Command=""$(M42SignTool)" sign $(M42SignOptions) /tr "$(M42SignTimestampUrl)" /td SHA256 /fd SHA256 /d "$(M42SignDescription)" "%(_M42AssembliesToSign.FullPath)"" />
|
||||
</Target>
|
||||
|
||||
<Target Name="M42_BuildPackage"
|
||||
AfterTargets="Build"
|
||||
Condition="'$(RuntimeIdentifier)' == '' AND '$(M42BuildPackage)' == 'true'">
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
set ProductName="C4IT First Aid Service Desk Matrix42 ESM Addon"
|
||||
|
||||
set SignTool=..\..\..\Common Code\Tools\signtool.exe
|
||||
set TimeStamp=http://rfc3161timestamp.globalsign.com/advanced
|
||||
|
||||
"%SignTool%" sign /a /tr %TimeStamp% /td SHA256 /fd SHA256 /d %ProductName% ".\bin\Release\C4ITF4SDM42WebApi.dll" ".\bin\Release\C4ITF4SDM42WebApiHelper.dll"
|
||||
|
||||
pause
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
pushd "%~dp0.."
|
||||
dotnet build "F4SDM42WebApi\F4SD - M42WebApi.csproj" -c Release %*
|
||||
set EXITCODE=%ERRORLEVEL%
|
||||
popd
|
||||
|
||||
exit /b %EXITCODE%
|
||||
|
||||
@@ -38,6 +38,17 @@ artifacts/<PackageName> v<Version>/
|
||||
artifacts/<PackageName> v<Version>.zip
|
||||
```
|
||||
|
||||
Release-Builds signieren die DLLs im Package automatisch per Authenticode, bevor das Package gebaut wird. Debug-Builds bleiben unsigniert.
|
||||
|
||||
Konfigurierbare MSBuild-Properties:
|
||||
|
||||
```powershell
|
||||
/p:M42SignAssemblies=false
|
||||
/p:M42SignTool="C:\Path\To\signtool.exe"
|
||||
/p:M42SignTimestampUrl="http://rfc3161timestamp.globalsign.com/advanced"
|
||||
/p:M42SignOptions="/a"
|
||||
```
|
||||
|
||||
Build-Befehl:
|
||||
|
||||
```powershell
|
||||
|
||||
Reference in New Issue
Block a user