]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[Build-System] Sign FreeSWITCH MSI Package with the Code Signing Certificate on Windows.
authorAndrey Volk <andywolk@gmail.com>
Wed, 10 Jun 2020 00:34:49 +0000 (04:34 +0400)
committerAndrey Volk <andywolk@gmail.com>
Sat, 23 Oct 2021 19:00:16 +0000 (22:00 +0300)
w32/Setup/Setup.2017.wixproj

index 5f77b94298e2064bee12050a5e1bd45db9e8f905..8b91ec3e37a2e3966b3ea832c9a2d01c7d60a6c0 100644 (file)
     <SchemaVersion>2.0</SchemaVersion>\r
     <OutputName>FreeSWITCH</OutputName>\r
     <OutputType>Package</OutputType>\r
+    <CertificateThumbprint>bf386393c880967b00adbc438aee534de6211774</CertificateThumbprint>\r
+    <TimestampUrl>http://timestamp.comodoca.com</TimestampUrl>\r
+    <SignToolPath Condition=" Exists('$(WindowsSDK80Path)bin\x86\signtool.exe') and '$(SignToolPath)'=='' and '$(PROCESSOR_ARCHITECTURE)'=='x86' ">$(WindowsSDK80Path)bin\x86\signtool.exe</SignToolPath>\r
+    <SignToolPath Condition=" Exists('$(WindowsSDK80Path)bin\x64\signtool.exe') and '$(SignToolPath)'=='' and '$(PROCESSOR_ARCHITECTURE)'=='AMD64' ">$(WindowsSDK80Path)bin\x64\signtool.exe</SignToolPath>\r
     <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>\r
     <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>\r
   </PropertyGroup>\r
     <Message Importance="High" Text="Deleting previously created MSI files." />\r
     <Delete Files="$(OutputPath)$(OutputName).msi" />\r
     <Delete Files="$(DestinationFileName)" />\r
-\r
-   <HeatDirectory\r
+    <CreateItem Include="$(SolutionDir)$(UserFriendlyPlatform)\$(Configuration)\f*.exe">\r
+        <Output ItemName="ExeFiles" TaskParameter="Include" />\r
+    </CreateItem>\r
+    <CreateItem Include="$(SolutionDir)$(UserFriendlyPlatform)\$(Configuration)\mod\*.dll">\r
+        <Output ItemName="Modules" TaskParameter="Include" />\r
+    </CreateItem>\r
+    <Message Importance="High" Text="Signing FreeSWITCH Core Library" />\r
+    <SignFile ContinueOnError="WarnAndContinue"\r
+            CertificateThumbprint="$(CertificateThumbprint)"\r
+            TimestampUrl="$(TimestampUrl)"\r
+            SigningTarget="$(SolutionDir)$(UserFriendlyPlatform)\$(Configuration)\FreeSwitch.dll"\r
+            TargetFrameworkVersion="v4.5" />\r
+    <Message Importance="High" Text="Signing FreeSWITCH Executables" />\r
+    <SignFile ContinueOnError="WarnAndContinue"\r
+            CertificateThumbprint="$(CertificateThumbprint)"\r
+            TimestampUrl="$(TimestampUrl)"\r
+            SigningTarget="%(ExeFiles.Identity)"\r
+            TargetFrameworkVersion="v4.5" />\r
+    <Message Importance="High" Text="Signing FreeSWITCH Modules" />\r
+    <SignFile ContinueOnError="WarnAndContinue"\r
+            CertificateThumbprint="$(CertificateThumbprint)"\r
+            SigningTarget="%(Modules.Identity)"\r
+            TargetFrameworkVersion="v4.5" />\r
+    <HeatDirectory\r
         ToolPath="$(WixToolPath)"\r
         OutputFile="$(ProjectDir)Fragments\FreeSWITCHConfFiles.wxs"\r
         Directory="$(ProjectDir)..\..\conf\vanilla"\r
   </Target>\r
   <Target Name="AfterBuild">\r
     <Copy SourceFiles="$(OutputPath)$(OutputName).msi" DestinationFiles="$(DestinationFileName)" />\r
+    <Message Importance="High" Text="Signing FreeSWITCH MSI Package" />\r
+    <Exec ContinueOnError="WarnAndContinue"\r
+        Command="&quot;$(SignToolPath)&quot; sign /fd sha256 /sha1 $(CertificateThumbprint) /t &quot;$(TimestampUrl)&quot; &quot;$(DestinationFileName)&quot;"\r
+        StandardOutputImportance="high" />\r
     <Message Importance="High" Condition="Exists('$(DestinationFileName)')" Text="Success. An output MSI has been copied to $(DestinationFileName)" />\r
   </Target>\r
 </Project>
\ No newline at end of file