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: