Files
QuickLook/QuickLook.Plugin/QuickLook.Plugin.CertViewer/CertViewerControl.xaml
ema 06694e0b16
Some checks failed
build / build (push) Has been cancelled
build / publish (push) Has been cancelled
Add password support for protected certificates
Introduces UI and logic to handle password-protected certificate files. The CertViewerControl now prompts for a password if needed, and attempts to reload the certificate with the provided password. Refactored certificate loading flow to support this feature.
2025-12-23 14:41:59 +08:00

53 lines
2.6 KiB
XML

<UserControl x:Class="QuickLook.Plugin.CertViewer.CertViewerControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="600"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- Password panel (hidden by default) -->
<StackPanel x:Name="PasswordPanel" Grid.Row="0" Grid.ColumnSpan="2" Orientation="Horizontal" Margin="8" Visibility="Collapsed" VerticalAlignment="Center">
<TextBlock Text="This certificate appears to be password-protected. Enter password:" VerticalAlignment="Center" Margin="0,0,8,0" />
<PasswordBox x:Name="InlinePasswordBox" Width="220" Margin="0,0,8,0" />
<Button x:Name="LoadWithPasswordButton" Content="Load" Width="80" Margin="0,0,8,0" Click="LoadWithPasswordButton_Click" />
<Button x:Name="CancelPasswordButton" Content="Cancel" Width="80" Click="CancelPasswordButton_Click" />
</StackPanel>
<TabControl Grid.Row="1" Grid.ColumnSpan="2" Margin="8">
<TabItem Header="Details">
<DataGrid x:Name="PropertyList"
AutoGenerateColumns="False"
IsReadOnly="True"
HeadersVisibility="Column"
RowHeaderWidth="0"
Margin="0">
<DataGrid.Columns>
<DataGridTextColumn Header="Field" Binding="{Binding Key}" Width="150" />
<DataGridTextColumn Header="Value" Binding="{Binding Value}" Width="*" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem Header="Raw">
<TextBox x:Name="RawText"
AcceptsReturn="True"
HorizontalScrollBarVisibility="Auto"
IsReadOnly="True"
TextWrapping="Wrap"
VerticalScrollBarVisibility="Auto"
Margin="0" />
</TabItem>
</TabControl>
</Grid>
</UserControl>