Skip to content

Commit 81d3148

Browse files
authored
Signing instructions for Newtonsoft.Json.dll added (#2601)
* Signing instructions for Newtonsoft.Json.dll added * Added 3rdParty signature thumbprint to the accept list.
1 parent 2f9043d commit 81d3148

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

scripts/verify-sign.ps1

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ $env:TP_TOOLS_DIR = Join-Path $env:TP_ROOT_DIR "tools"
3030
Write-Verbose "Setup build configuration."
3131
$TPB_SignCertificate = $Certificate
3232
$TPB_Configuration = $Configuration
33-
$TPB_AssembliesPattern = @("*test*.dll", "*qualitytools*.dll", "*test*.exe", "*datacollector*.dll", "*datacollector*.exe", "QTAgent*.exe", "VsWebSite.Interop.dll", "Microsoft.VisualStudio*.dll", "Microsoft.TestPlatform.Build.dll", "Microsoft.DiaSymReader.dll", "Microsoft.IntelliTrace*.dll", "concrt140.dll", "msvcp140.dll", "vccorlib140.dll", "vcruntime140.dll", "codecoveragemessages.dll", "covrun32.dll", "msdia140.dll", "covrun64.dll", "IntelliTrace.exe", "ProcessSnapshotCleanup.exe", "TDEnvCleanup.exe", "CodeCoverage.exe", "Microsoft.ShDocVw.dll", "UIAComwrapper.dll", "Interop.UIAutomationClient.dll", "SettingsMigrator.exe")
33+
$TPB_AssembliesPattern = @("*test*.dll", "*qualitytools*.dll", "*test*.exe", "*datacollector*.dll", "*datacollector*.exe", "QTAgent*.exe", "VsWebSite.Interop.dll", "Microsoft.VisualStudio*.dll", "Microsoft.TestPlatform.Build.dll", "Microsoft.DiaSymReader.dll", "Microsoft.IntelliTrace*.dll", "concrt140.dll", "msvcp140.dll", "vccorlib140.dll", "vcruntime140.dll", "codecoveragemessages.dll", "covrun32.dll", "msdia140.dll", "covrun64.dll", "IntelliTrace.exe", "ProcessSnapshotCleanup.exe", "TDEnvCleanup.exe", "CodeCoverage.exe", "Microsoft.ShDocVw.dll", "UIAComwrapper.dll", "Interop.UIAutomationClient.dll", "SettingsMigrator.exe", "Newtonsoft.Json.dll")
3434

3535
function Verify-Assemblies
3636
{
@@ -54,18 +54,22 @@ function Verify-Assemblies
5454
elseif ($signature.SignerCertificate.Thumbprint -eq "5EAD300DC7E4D637948ECB0ED829A072BD152E17") {
5555
Write-Log "Valid (Prod Signed): $($_.FullName)."
5656
}
57-
# For some dlls e.g. "Interop.UIAutomationClient.dll", sign certificate is different signature. Skip such binaries.
57+
# For some dlls e.g. "Interop.UIAutomationClient.dll", sign certificate is different signature. Skip such binaries.
5858
elseif ($signature.SignerCertificate.Thumbprint -eq "67B1757863E3EFF760EA9EBB02849AF07D3A8080") {
5959
Write-Log "Valid (Prod Signed): $($_.FullName)."
6060
}
61-
# For some dlls e.g. "Microsoft.VisualStudio.ArchitectureTools.PEReader.dll", sign certificate is different signature. Skip such binaries.
61+
# For some dlls e.g. "Microsoft.VisualStudio.ArchitectureTools.PEReader.dll", sign certificate is different signature. Skip such binaries.
6262
elseif ($signature.SignerCertificate.Thumbprint -eq "9DC17888B5CFAD98B3CB35C1994E96227F061675") {
6363
Write-Log "Valid (Prod Signed): $($_.FullName)."
6464
}
65-
# For some dlls sign certificate is different signature. Skip such binaries.
65+
# For some dlls sign certificate is different signature. Skip such binaries.
6666
elseif ($signature.SignerCertificate.Thumbprint -eq "62009AAABDAE749FD47D19150958329BF6FF4B34") {
6767
Write-Log "Valid (Prod Signed): $($_.FullName)."
6868
}
69+
# Microsoft 3rd Party Authenticode Signature
70+
elseif ($signature.SignerCertificate.Thumbprint -eq "899FA016DEE8E665FF2A315A1151C43FB96C430B") {
71+
Write-Log "Valid (Prod Signed): $($_.FullName)."
72+
}
6973
else {
7074
Write-FailLog "Incorrect certificate. File: $($_.FullName). Certificate: $($signature.SignerCertificate.Thumbprint)."
7175
}

src/package/sign/sign.proj

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@
164164
<AssembliesToSign Include="$(ArtifactsDirectory)CUITPlugins\Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.dll" />
165165
<AssembliesToSign Include="$(ArtifactsDirectory)CUITPlugins\Microsoft.VisualStudio.TestTools.UITest.Extension.UiaWidget.dll" />
166166
<AssembliesToSign Include="$(ArtifactsDirectory)CUITPlugins\Microsoft.VisualStudio.TestTools.UITest.Extension.UiaWidget.UIAHtmlElementUtilities.dll" />
167+
168+
<!-- Third Party assemblies to sign -->
169+
<ThirdPartyAssembliesToSign Include="$(ArtifactsDirectory)Newtonsoft.Json.dll" />
167170
</ItemGroup>
168171

169172
<!-- Sign test platform v2 assemblies for .NET 4.6-->
@@ -197,7 +200,7 @@
197200
<AssembliesToSign Include="$(ArtifactsDirectory)testhost.net472.x86.exe" />
198201
<AssembliesToSign Include="$(ArtifactsDirectory)testhost.net48.exe" />
199202
<AssembliesToSign Include="$(ArtifactsDirectory)testhost.net48.x86.exe" />
200-
<AssembliesToSign Include="$(ArtifactsDirectory)SettingsMigrator.exe" />
203+
<AssembliesToSign Include="$(ArtifactsDirectory)SettingsMigrator.exe" />
201204

202205
<!-- NetFullExtensions -->
203206
<AssembliesToSign Include="$(ArtifactsDirectory)Extensions\Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.dll" />
@@ -209,6 +212,9 @@
209212
<!-- Localized resources -->
210213
<AssembliesToSign Include="$(ArtifactsDirectory)%(ResxLang.Identity)\*.*" />
211214
<AssembliesToSign Include="$(ArtifactsDirectory)Extensions\%(ResxLang.Identity)\*.*" />
215+
216+
<!-- Third Party assemblies to sign -->
217+
<ThirdPartyAssembliesToSign Include="$(ArtifactsDirectory)Newtonsoft.Json.dll" />
212218
</ItemGroup>
213219

214220
<!-- Intellitrace -->
@@ -329,6 +335,10 @@
329335
<NetStandard20AssembliesToSign Include="$(ArtifactsNS20Directory)%(ResxLang.Identity)\*.*" />
330336
<CoreAssembliesToSign Include="$(ArtifactsCoreDirectory)Extensions\%(ResxLang.Identity)\*.*" />
331337
<CoreAssembliesToSign Include="$(ArtifactsCoreDirectory)TestHost\%(ResxLang.Identity)\*.*" />
338+
339+
<!-- Third Party assemblies to sign -->
340+
<ThirdPartyAssembliesToSign Include="$(ArtifactsCoreDirectory)Newtonsoft.Json.dll" />
341+
<ThirdPartyAssembliesToSign Include="$(ArtifactsCoreDirectory)TestHost\Newtonsoft.Json.dll" />
332342
</ItemGroup>
333343

334344
<!-- Sign Microsoft.TestPlatform.Build -->
@@ -419,6 +429,12 @@
419429
<TestHostCoreAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\netcoreapp2.1\%(ResxLang.Identity)\*.*" />
420430
<TestHostCoreAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\net451\$(TargetRuntime)\%(ResxLang.Identity)\*.*" />
421431
<TestHostCoreAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\uap10.0\%(ResxLang.Identity)\*.*" />
432+
433+
<!-- Third Party assemblies to sign -->
434+
<ThirdPartyAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\netcoreapp1.0\Newtonsoft.Json.dll" />
435+
<ThirdPartyAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\netcoreapp2.1\Newtonsoft.Json.dll" />
436+
<ThirdPartyAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\uap10.0\Newtonsoft.Json.dll" />
437+
<ThirdPartyAssembliesToSign Include="$(ArtifactsBaseDirectory)Microsoft.TestPlatform.TestHost\net451\$(TargetRuntime)\Newtonsoft.Json.dll" />
422438
</ItemGroup>
423439

424440
<ItemGroup>
@@ -466,8 +482,18 @@
466482
<Authenticode>Microsoft402400</Authenticode>
467483
<StrongName>StrongName</StrongName>
468484
</CodeCoverageAssembliesToSign>
485+
486+
<ThirdPartyAssembliesToSign>
487+
<Authenticode>3PartySHA2</Authenticode>
488+
</ThirdPartyAssembliesToSign>
469489
</ItemGroup>
470490

491+
<Message Text="Signing 3rd party assemblies using authenticode certificate '%(ThirdPartyAssembliesToSign.Authenticode)' for @(CoreAssembliesToSign)"/>
492+
<SignFiles Files="@(ThirdPartyAssembliesToSign)"
493+
BinariesDirectory="$(ArtifactsBaseDirectory)"
494+
IntermediatesDirectory="$(IntermediatesDirectory)"
495+
Type="$(SignType)" />
496+
471497
<Message Text="Signing using authenticode certificate '%(AssembliesToSign.Authenticode)' for @(CoreAssembliesToSign)"/>
472498
<SignFiles Files="@(NetStandard10AssembliesToSign)"
473499
BinariesDirectory="$(ArtifactsNS10Directory)"

0 commit comments

Comments
 (0)