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 } }