diff --git a/F4SDM42WebApi/M42SandboxedExtension.targets b/F4SDM42WebApi/M42SandboxedExtension.targets index 7bae26a..1c52b73 100644 --- a/F4SDM42WebApi/M42SandboxedExtension.targets +++ b/F4SDM42WebApi/M42SandboxedExtension.targets @@ -8,12 +8,15 @@ $(MSBuildProjectDirectory)\..\PackageTemplate $(MSBuildProjectDirectory)\..\artifacts $(MSBuildProjectDirectory)\BuildM42Package.ps1 - true false $(MSBuildProjectDirectory)\..\..\..\Common Code\Tools\signtool.exe http://rfc3161timestamp.globalsign.com/advanced C4IT - F4SD - WebApi for M42 /a + <_M42SignCertificateArgs Condition="'$(M42SignCertificateFile)' != '' AND '$(M42SignCertificatePassword)' != ''">/f "$(M42SignCertificateFile)" /p "$(M42SignCertificatePassword)" + <_M42SignCertificateArgs Condition="'$(M42SignCertificateFile)' != '' AND '$(M42SignCertificatePassword)' == ''">/f "$(M42SignCertificateFile)" + <_M42SignCertificateArgs Condition="'$(_M42SignCertificateArgs)' == '' AND '$(M42SignCertificateThumbprint)' != ''">/sha1 "$(M42SignCertificateThumbprint)" + <_M42SignCertificateArgs Condition="'$(_M42SignCertificateArgs)' == ''">$(M42SignOptions) + Command=""$(M42SignTool)" sign $(_M42SignCertificateArgs) /tr "$(M42SignTimestampUrl)" /td SHA256 /fd SHA256 /d "$(M42SignDescription)" "%(_M42AssembliesToSign.FullPath)"" /> v/ artifacts/ v.zip ``` -Release-Builds signieren die DLLs im Package automatisch per Authenticode, bevor das Package gebaut wird. Debug-Builds bleiben unsigniert. +Builds signieren die DLLs nicht automatisch. Signieren ist optional und muss explizit aktiviert werden. Wenn `M42SignAssemblies=true` gesetzt ist, werden die DLLs im Package vor dem Package-Build per Authenticode signiert. Konfigurierbare MSBuild-Properties: ```powershell -/p:M42SignAssemblies=false +/p:M42SignAssemblies=true /p:M42SignTool="C:\Path\To\signtool.exe" +/p:M42SignCertificateThumbprint="" +/p:M42SignCertificateFile="C:\Path\To\certificate.pfx" +/p:M42SignCertificatePassword="" /p:M42SignTimestampUrl="http://rfc3161timestamp.globalsign.com/advanced" /p:M42SignOptions="/a" ``` @@ -55,6 +58,12 @@ Build-Befehl: dotnet build "C:\Workspace\C4IT FASD\F4SD_M42WebApi\C4IT - F4SD - M42WebApi.sln" -c Release ``` +Signierter Release-Build: + +```powershell +dotnet build "C:\Workspace\C4IT FASD\F4SD_M42WebApi\F4SDM42WebApi\F4SD - M42WebApi.csproj" -c Release /p:M42SignAssemblies=true +``` + ## Host-Konfig Die Host-Konfig muss exakt zum Assembly-Namen passen: