iud_key_imp10/Quellcodes/iud_key_rsachat/KeyPopup.java
2024-12-29 14:26:34 +01:00

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