Fixed handling test mode when secure boot is enabled
This commit is contained in:
parent
13b4cdf09f
commit
d07e6cb17e
@ -113,6 +113,7 @@
|
|||||||
<Compile Include="Util\BcdHelper.cs" />
|
<Compile Include="Util\BcdHelper.cs" />
|
||||||
<Compile Include="Util\CodeIntegrityHelper.cs" />
|
<Compile Include="Util\CodeIntegrityHelper.cs" />
|
||||||
<Compile Include="Util\CodeIntegrityPolicyHelper.cs" />
|
<Compile Include="Util\CodeIntegrityPolicyHelper.cs" />
|
||||||
|
<Compile Include="Util\InverseBooleanConverter.cs" />
|
||||||
<Compile Include="Util\OsUpgradeDetection.cs" />
|
<Compile Include="Util\OsUpgradeDetection.cs" />
|
||||||
<Compile Include="Util\OSVersionInfo.cs" />
|
<Compile Include="Util\OSVersionInfo.cs" />
|
||||||
<Compile Include="Util\UEFIHelper.cs" />
|
<Compile Include="Util\UEFIHelper.cs" />
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:DerpingDrivers"
|
xmlns:util="clr-namespace:DerpingDrivers.Util"
|
||||||
xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
|
xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
|
||||||
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
@ -15,6 +15,9 @@
|
|||||||
BorderThickness="0"
|
BorderThickness="0"
|
||||||
GlowBrush="{DynamicResource AccentColorBrush}"
|
GlowBrush="{DynamicResource AccentColorBrush}"
|
||||||
DataContext="{Binding RelativeSource={RelativeSource Self}}">
|
DataContext="{Binding RelativeSource={RelativeSource Self}}">
|
||||||
|
<controls:MetroWindow.Resources>
|
||||||
|
<util:InverseBooleanConverter x:Key="InverseBooleanConverter"/>
|
||||||
|
</controls:MetroWindow.Resources>
|
||||||
|
|
||||||
<TabControl Margin="15">
|
<TabControl Margin="15">
|
||||||
|
|
||||||
@ -100,7 +103,8 @@
|
|||||||
Header="Allow Prerelease Signatures"
|
Header="Allow Prerelease Signatures"
|
||||||
OnLabel="TESTSINGING is on"
|
OnLabel="TESTSINGING is on"
|
||||||
OffLabel="TESTSINGING is off"
|
OffLabel="TESTSINGING is off"
|
||||||
IsChecked="{Binding Path=AllowPrereleaseSignatures}" />
|
IsChecked="{Binding Path=AllowPrereleaseSignatures}"
|
||||||
|
IsEnabled="{Binding Path=IsSecureBootEnabled, Converter={StaticResource InverseBooleanConverter}}"/>
|
||||||
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1"
|
<TextBlock Grid.Row="0" Grid.Column="1"
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
|
@ -57,7 +57,17 @@ namespace DerpingDrivers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets test-mode status.
|
/// Gets test-mode status.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TestSigningStatus => CodeIntegrityHelper.IsTestSignEnabled ? "Enabled" : "Disabled";
|
public string TestSigningStatus => UefiHelper.IsRunningInUefiMode && UefiHelper.IsSecureBootEnabled
|
||||||
|
?
|
||||||
|
"Not available"
|
||||||
|
: CodeIntegrityHelper.IsTestSignEnabled
|
||||||
|
? "Enabled"
|
||||||
|
: "Disabled";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// True if SecureBoot enabled, false otherwise.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSecureBootEnabled => UefiHelper.IsRunningInUefiMode && UefiHelper.IsSecureBootEnabled;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets whether prerelease signatures (a.k.a. TESTSIGNING) are accepted by the kernel.
|
/// Gets or sets whether prerelease signatures (a.k.a. TESTSIGNING) are accepted by the kernel.
|
||||||
|
29
DerpingDrivers/Util/InverseBooleanConverter.cs
Normal file
29
DerpingDrivers/Util/InverseBooleanConverter.cs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
using System;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Windows.Data;
|
||||||
|
|
||||||
|
namespace DerpingDrivers.Util
|
||||||
|
{
|
||||||
|
[ValueConversion(typeof(bool), typeof(bool))]
|
||||||
|
public class InverseBooleanConverter : IValueConverter
|
||||||
|
{
|
||||||
|
#region IValueConverter Members
|
||||||
|
|
||||||
|
public object Convert(object value, Type targetType, object parameter,
|
||||||
|
CultureInfo culture)
|
||||||
|
{
|
||||||
|
if (targetType != typeof(bool))
|
||||||
|
throw new InvalidOperationException("The target must be a boolean");
|
||||||
|
|
||||||
|
return !(bool) value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object ConvertBack(object value, Type targetType, object parameter,
|
||||||
|
CultureInfo culture)
|
||||||
|
{
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user