source: trunk/PKCS1/WpfControls/RsaKeyGen/RsaKeyGenControl.xaml @ 1742

Last change on this file since 1742 was 1742, checked in by schomburg, 11 years ago

fixed some bugs
enhanced the GUI
file input possible now

File size: 7.1 KB
Line 
1<UserControl x:Class="PKCS1.WpfControls.RsaKeyGen.RsaKeyGenControl" x:Name="This"
2    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4    xmlns:my="clr-namespace:PKCS1.WpfResources"
5    xmlns:lib="clr-namespace:PKCS1.Library"
6    HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
7    <UserControl.Resources>
8        <my:ErrorsToMessageConverter x:Key="eToMConverter" />
9    </UserControl.Resources>
10    <ScrollViewer  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
11        <Grid>
12            <Grid.RowDefinitions>
13            <RowDefinition Height="auto" />
14            <RowDefinition Height="auto" />
15        </Grid.RowDefinitions>
16            <GroupBox Grid.Row="0" Header="RSA-Schlüssel generieren" Margin="0,0,0,0">
17            <Grid>
18                <Grid.RowDefinitions>
19                    <RowDefinition Height="auto" />
20                    <RowDefinition Height="*" />
21                </Grid.RowDefinitions>
22                <Grid Grid.Row="0">
23                    <Grid.ColumnDefinitions>
24                        <ColumnDefinition Width="auto" />
25                        <ColumnDefinition Width="auto" />
26                        <ColumnDefinition Width="auto" />
27                    </Grid.ColumnDefinitions>
28                    <Grid Grid.Column="0">
29                        <Grid.RowDefinitions>
30                            <RowDefinition Height="auto" />
31                            <RowDefinition Height="auto" />
32                        </Grid.RowDefinitions>
33                        <Label Grid.Row="0" Margin="5,0,5,0">Öffentlicher Schlüssel:</Label>
34                        <Label Grid.Row="1" Margin="5,0,5,5">Bitgröße des Modulus:</Label>
35                    </Grid>
36                    <Grid Grid.Column="1">
37                        <Grid.RowDefinitions>
38                            <RowDefinition Height="auto" />
39                            <RowDefinition Height="auto" />
40                        </Grid.RowDefinitions>
41                            <TextBox Grid.Row="0" Name="tbInputPubKey"  Margin="5,0,5,5" MinWidth="50">
42                                    <TextBox.Text>
43                                    <Binding Source="{x:Static lib:RSAKeyManager.Instance}" Path="PubExponent" UpdateSourceTrigger="PropertyChanged">
44                                        <Binding.ValidationRules>
45                                            <my:NumberValidationRule UpperBound="20" LowerBound="0" />
46                                        </Binding.ValidationRules>
47                                    </Binding>
48                                </TextBox.Text>                                 
49                            </TextBox>                           
50                            <TextBox Grid.Row="1" Name="tbInputMod" Margin="5,0,5,5" MinWidth="50">
51                                <TextBox.Text>
52                                    <Binding Source="{x:Static lib:RSAKeyManager.Instance}" Path="RsaKeySize" UpdateSourceTrigger="PropertyChanged">
53                                        <Binding.ValidationRules>
54                                            <my:NumberValidationRule UpperBound="4097" LowerBound="1023" />
55                                        </Binding.ValidationRules>
56                                    </Binding>
57                                </TextBox.Text>
58                            </TextBox>
59                    </Grid>
60                    <Grid Grid.Column="2">
61                        <Grid.RowDefinitions>
62                            <RowDefinition Height="auto" />
63                            <RowDefinition Height="auto" />
64                        </Grid.RowDefinitions>
65                            <DockPanel Grid.Row="0">
66                                <Label Margin="5,0,5,0">(muss 3 sein, um Angriffe durchführen zu können)</Label>
67                                <Image Name="btnHelpPubKey" Cursor="Hand" Source="../../Resources/icons/help.png" Width="16" Height="16" HorizontalAlignment="Right" MouseLeftButtonDown="btn_Help_MouseLeftButtonDown" />
68                            </DockPanel>
69                            <DockPanel Grid.Row="1">
70                                <Label Margin="5,0,5,5">(in Bit)</Label>
71                                <Image Name="btnHelpBitSizeModulus" Cursor="Hand" Source="../../Resources/icons/help.png" Width="16" Height="16" HorizontalAlignment="Right" MouseLeftButtonDown="btn_Help_MouseLeftButtonDown" />
72                            </DockPanel>
73                    </Grid>
74                </Grid>
75                <Grid Grid.Row="1">
76                    <Grid.ColumnDefinitions>
77                        <ColumnDefinition Width="*" />
78                        <ColumnDefinition Width="auto" />
79                        <ColumnDefinition Width="auto" />
80                    </Grid.ColumnDefinitions>
81                        <TextBlock Grid.Column="0"  Foreground="Red" FontWeight="Bold" FontSize="10"
82                                Text="{Binding ElementName=tbInputPubKey,
83                                Path=(Validation.Errors),
84                                Converter={StaticResource eToMConverter}}" />
85                        <TextBlock Grid.Column="0"  Foreground="Red" FontWeight="Bold" FontSize="10"
86                                Text="{Binding ElementName=tbInputMod,
87                                Path=(Validation.Errors),
88                                Converter={StaticResource eToMConverter}}" />
89                        <Button Grid.Column="2" Name="btnGenRsaKey" Click="btnGenRsaKey_Click" Height="25" MinWidth="100" VerticalAlignment="Bottom" HorizontalContentAlignment="Right">Schlüssel generieren</Button>
90                </Grid>
91            </Grid>
92        </GroupBox>       
93            <GroupBox Grid.Row="1" Header="Generierter Schlüssel" Margin="0,15,0,0">
94                <Grid>
95                <Grid.RowDefinitions>
96                    <RowDefinition Height="auto" />
97                    <RowDefinition Height="auto" />
98                    <RowDefinition Height="auto" />
99                    <RowDefinition Height="auto" />
100                </Grid.RowDefinitions>
101                <Label Grid.Row="0">Privater Schlüssel</Label>
102                <Label Grid.Row="0" Margin="150,0,0,0" Name="lblPrivKeyLength"></Label>
103                <TextBox Grid.Row="1" Name="tbResultPrivKey" IsReadOnly="True" TextWrapping="Wrap" MaxWidth="450" MinHeight="80" Margin="5,0,5,5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextChanged="tbResultPrivKey_TextChanged"></TextBox>
104                <Label Grid.Row="2">Modulus</Label>
105                <Label Grid.Row="2" Margin="150,0,0,0" Name="lblModulusLength"></Label>
106                <TextBox Grid.Row="3" Name="tbResultModulus" IsReadOnly="True" TextWrapping="Wrap" MaxWidth="450" MinHeight="80" Margin="5,0,5,5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextChanged="tbResultModulus_TextChanged"></TextBox>
107            </Grid>           
108        </GroupBox>
109    </Grid>
110    </ScrollViewer>
111</UserControl>
Note: See TracBrowser for help on using the repository browser.