aboutsummaryrefslogtreecommitdiff
path: root/src/main/ui/MainUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/ui/MainUI.java')
-rw-r--r--src/main/ui/MainUI.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/ui/MainUI.java b/src/main/ui/MainUI.java
index 9637d79..34cc224 100644
--- a/src/main/ui/MainUI.java
+++ b/src/main/ui/MainUI.java
@@ -92,6 +92,7 @@ public class MainUI extends JFrame {
private final JButton buttonGenPrivKey = btn("Generate", 'G', this::onGeneratePrivateKey);
private final JButton buttonInstallCA = btn("Install", 'I', this::onInstallCA);
private final JButton buttonGenCSR = btn("CSR", this::onSignCSR);
+ private final QRPanel panelQR = new QRPanel(256);
private final JToolBar toolbarCA = new JToolBar();
private final JButton buttonCAToolbarCRL = btn("CRL", "publisher.png", this::onCRL);
@@ -192,6 +193,17 @@ public class MainUI extends JFrame {
renderRefresh();
}
+ /**
+ * EFFECTS: Set the QR code data to either null (no public key) or PEM-encoded PKCS#1 public key.
+ */
+ private void renderQRPublicKey() {
+ if (ca.getPublicKey() == null) {
+ panelQR.setData(null);
+ return;
+ }
+ panelQR.setData(Utils.toPEM(Utils.byteToByte(ca.getPublicKey().getEncoded()), "PUBLIC KEY"));
+ }
+
// -----END HELPER METHODS-----
// -----BEGIN DATA OBSERVERS-----
@@ -327,7 +339,8 @@ public class MainUI extends JFrame {
panelTabCA.add(buttonGenPrivKey, new GCBuilder().gridXY(1, 1).fill(HORIZONTAL).build());
panelTabCA.add(buttonInstallCA, new GCBuilder().gridXY(1, 2).fill(HORIZONTAL).build());
panelTabCA.add(buttonGenCSR, new GCBuilder().gridXY(2, 2).fill(HORIZONTAL).build());
- panelTabCA.add(new JPanel(), new GCBuilder().gridXY(3, 3).expandXY().fill(BOTH).build());
+ panelTabCA.add(panelQR, new GCBuilder().gridY(3).fill(HORIZONTAL).build());
+ panelTabCA.add(new JPanel(), new GCBuilder().gridXY(4, 4).expandXY().fill(BOTH).build());
tabbedPane.addTab("Certs", panelCertsTab = defView(scrTbl(tableCerts), "No issued certs"));
tabbedPane.addTab("Templates", panelTmpTab = defView(scrTbl(tableTemplates), "No templates"));
@@ -339,6 +352,7 @@ public class MainUI extends JFrame {
* MODIFIES: this
*/
private void renderCAPage() {
+ renderQRPublicKey();
if (ca.getPublicKey() == null) {
labelPrivateKey.setText("Private key not installed");
} else {