94 lines
No EOL
2.9 KiB
Java
94 lines
No EOL
2.9 KiB
Java
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.MouseEvent;
|
|
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JMenu;
|
|
import javax.swing.JMenuItem;
|
|
import javax.swing.JPopupMenu;
|
|
import javax.swing.JOptionPane;
|
|
|
|
public class KeyPopup extends JPopupMenu implements ActionListener {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
JMenuItem bmi, ami, emi, kmi, dmi1, dmi2, dmi3, vmi;
|
|
ChatClient cc;
|
|
Key k;
|
|
|
|
public KeyPopup( MouseEvent event, ChatClient cc, Key k){
|
|
this.cc = cc;
|
|
this.k = k;
|
|
// Submenu
|
|
|
|
dmi1 = new JMenuItem("Schlüsselpaar (50bit) erzeugen");
|
|
dmi1.addActionListener(this);
|
|
add(dmi1);
|
|
dmi2 = new JMenuItem("Schlüsselpaar (512bit) erzeugen");
|
|
dmi2.addActionListener(this);
|
|
add(dmi2);
|
|
dmi3 = new JMenuItem("Schlüsselpaar (1024bit) erzeugen");
|
|
dmi3.addActionListener(this);
|
|
add(dmi3);
|
|
addSeparator();
|
|
if (k != null) {
|
|
vmi = new JMenuItem("Schlüssel-Name-Paar zertifizieren");
|
|
vmi.addActionListener(this);
|
|
add(vmi);
|
|
|
|
} // end of if
|
|
bmi = new JMenuItem("Öffentlichen Schlüssel der Zertifizierungsstelle anzeigen");
|
|
bmi.addActionListener(this);
|
|
add(bmi);
|
|
addSeparator();
|
|
if (k!=null) {
|
|
ami = new JMenuItem("Schlüssel löschen");
|
|
ami.addActionListener(this);
|
|
add(ami);
|
|
|
|
} // end of if
|
|
/*
|
|
kmi = new JMenuItem("Schlüssel selbst eingeben");
|
|
kmi.addActionListener(this);
|
|
add(kmi);
|
|
*/
|
|
show(event.getComponent(), event.getX(), event.getY());
|
|
}
|
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
|
|
if (e.getSource() == dmi1) {
|
|
cc.generateKeyPair(50);
|
|
}
|
|
if (e.getSource() == dmi2) {
|
|
cc.generateKeyPair(512);
|
|
}
|
|
if (e.getSource() == dmi3) {
|
|
cc.generateKeyPair(1024);
|
|
}
|
|
if (e.getSource()== bmi) {
|
|
cc.showPublicZertKey();
|
|
|
|
} // end of if
|
|
if (e.getSource() == vmi) {
|
|
JOptionPane.showMessageDialog(this,
|
|
"Gehen Sie bitte mit Ihrem Schlüssel zur Zertifizierungsstelle.\nSind Sie angekommen?",
|
|
"Zertifizierung",
|
|
JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(this,
|
|
"Geben Sie dort bitte Ihren Schlüssel ab und weisen Sie sich als "+cc.jTFName.getText()+" aus.\nHaben Sie sich ausgewiesen?",
|
|
"Zertifizierung",
|
|
JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(this,
|
|
"Sie erhalten jetzt von der Zertifizierungsstelle Ihren mit "+cc.jTFName.getText()+" zertifizierten Schlüssel.\nMöchten Sie diesen in Ihrem Chat-Client importieren?",
|
|
"Zertifizierung",
|
|
JOptionPane.INFORMATION_MESSAGE);
|
|
cc.signKey(k);
|
|
} // end of if
|
|
|
|
if (e.getSource() == ami) {
|
|
cc.deleteKey(k);
|
|
} // end of if
|
|
}
|
|
} |