[msbuild] Xamarin.Mac Notary Support (#5754)

* Add --timestamp to hardened XM builds and --timestamp=none to rest
This commit is contained in:
Chris Hamons 2019-03-13 10:54:01 -05:00 коммит произвёл GitHub
Родитель 96ae30a3ac
Коммит b777aba9f6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 12 добавлений и 0 удалений

Просмотреть файл

@ -201,6 +201,7 @@ Copyright (C) 2014 Xamarin. All rights reserved.
SigningKey="$(_CodeSigningKey)"
ExtraArgs="$(CodesignExtraArgs)"
IsAppExtension="$(IsAppExtension)"
UseSecureTimestamp="$(UseHardenedRuntime)"
>
</Codesign>
</Target>
@ -250,6 +251,7 @@ Copyright (C) 2014 Xamarin. All rights reserved.
ExtraArgs="$(CodesignExtraArgs)"
IsAppExtension="$(IsAppExtension)"
UseHardenedRuntime="$(UseHardenedRuntime)"
UseSecureTimestamp="$(UseHardenedRuntime)"
>
</Codesign>
</Target>

Просмотреть файл

@ -46,6 +46,8 @@ namespace Xamarin.MacDev.Tasks
public bool IsAppExtension { get; set; }
public bool UseHardenedRuntime { get; set; }
public bool UseSecureTimestamp { get; set; }
public string ToolExe {
get { return toolExe ?? ToolName; }
@ -98,6 +100,11 @@ namespace Xamarin.MacDev.Tasks
if (UseHardenedRuntime)
args.Add ("-o runtime");
if (UseSecureTimestamp)
args.Add ("--timestamp");
else
args.Add ("--timestamp=none");
args.Add ("--sign");
args.AddQuoted (SigningKey);

Просмотреть файл

@ -715,6 +715,7 @@ namespace Xamarin.MMP.Tests
var baseOutput = TI.TestUnifiedExecutable (test);
string baseCodesign = findCodesign (baseOutput);
Assert.False (baseCodesign.Contains ("-o runtime"), "Base codesign");
Assert.True (baseCodesign.Contains ("--timestamp=none"), "Base codesign timestamp");
test.CSProjConfig += "<UseHardenedRuntime>true</UseHardenedRuntime><CodeSignEntitlements>Entitlements.plist</CodeSignEntitlements>";
@ -732,6 +733,8 @@ namespace Xamarin.MMP.Tests
var hardenedOutput = TI.TestUnifiedExecutable (test);
string hardenedCodesign = findCodesign (hardenedOutput);
Assert.True (hardenedCodesign.Contains ("-o runtime"), "Hardened codesign");
Assert.True (hardenedCodesign.Contains ("--timestamp"), "Hardened codesign timestamp");
});
}
}