Skip to content

Commit

Permalink
Added verify button to DViewCsr
Browse files Browse the repository at this point in the history
  • Loading branch information
kaikramer committed Dec 23, 2023
1 parent d73f1c3 commit 5c79281
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 1 deletion.
32 changes: 31 additions & 1 deletion kse/src/org/kse/gui/dialogs/DViewCsr.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;

Expand Down Expand Up @@ -89,6 +90,7 @@ public class DViewCsr extends JEscDialog {
private JTextField jtfChallenge;
private JLabel jlUnstructuredName;
private JTextField jtfUnstructuredName;
private JButton jbVerify;
private JButton jbExtensions;
private JButton jbPem;
private JButton jbAsn1;
Expand Down Expand Up @@ -167,6 +169,10 @@ private void initComponents() throws CryptoException {
jtfUnstructuredName.setEditable(false);
jtfUnstructuredName.setToolTipText(res.getString("DViewCsr.jtfUnstructuredName.tooltip"));

jbVerify = new JButton(res.getString("DViewCsr.jbVerify.text"));
PlatformUtil.setMnemonic(jbVerify, res.getString("DViewCsr.jbVerify.mnemonic").charAt(0));
jbVerify.setToolTipText(res.getString("DViewCsr.jbVerify.tooltip"));

jbExtensions = new JButton(res.getString("DViewCsr.jbExtensions.text"));
PlatformUtil.setMnemonic(jbExtensions, res.getString("DViewCsr.jbExtensions.mnemonic").charAt(0));
jbExtensions.setToolTipText(res.getString("DViewCsr.jbExtensions.tooltip"));
Expand Down Expand Up @@ -196,7 +202,8 @@ private void initComponents() throws CryptoException {
pane.add(jtfChallenge, "wrap");
pane.add(jlUnstructuredName, "");
pane.add(jtfUnstructuredName, "wrap para");
pane.add(jbExtensions, "spanx, split");
pane.add(jbVerify, "spanx, split");
pane.add(jbExtensions, "");
pane.add(jbPem, "");
pane.add(jbAsn1, "wrap");
pane.add(new JSeparator(), "spanx, growx, wrap 15:push");
Expand All @@ -213,6 +220,15 @@ private void initComponents() throws CryptoException {
}
});

jbVerify.addActionListener(evt -> {
try {
CursorUtil.setCursorBusy(DViewCsr.this);
verifyPressed();
} finally {
CursorUtil.setCursorFree(DViewCsr.this);
}
});

jbExtensions.addActionListener(evt -> {
try {
CursorUtil.setCursorBusy(DViewCsr.this);
Expand Down Expand Up @@ -353,6 +369,20 @@ private PublicKey getPkcs10PublicKey() throws CryptoException {
}
}

private void verifyPressed() {
try {
if (Pkcs10Util.verifyCsr(pkcs10Csr)) {
JOptionPane.showMessageDialog(this, res.getString("DViewCsr.VerifyOK.message"),
res.getString("DViewCsr.Verify.title"), JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, res.getString("DViewCsr.NoVerify.message"),
res.getString("DViewCsr.Verify.title"), JOptionPane.WARNING_MESSAGE);
}
} catch (CryptoException e) {
DError.displayError(this, e);
}
}

private void extensionsPressed() {
X509ExtensionSet x509ExtensionSet = Pkcs10Util.getExtensions(pkcs10Csr);

Expand Down
6 changes: 6 additions & 0 deletions kse/src/org/kse/gui/dialogs/resources.properties
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,9 @@ DViewCsr.jbAsn1.tooltip = Display ASN.1 dump for CSR
DViewCsr.jbExtensions.mnemonic = E
DViewCsr.jbExtensions.text = Extensions
DViewCsr.jbExtensions.tooltip = Display the CSR's extensions
DViewCsr.jbVerify.mnemonic = V
DViewCsr.jbVerify.text = Verify
DViewCsr.jbVerify.tooltip = Verify the CSR's signature
DViewCsr.jbOK.text = OK
DViewCsr.jbPem.mnemonic = P
DViewCsr.jbPem.text = PEM
Expand All @@ -453,6 +456,9 @@ DViewCsr.jtfPublicKey.text = {0} {1} bits
DViewCsr.jtfPublicKey.tooltip = CSR's public key algorithm
DViewCsr.jtfSignatureAlgorithm.tooltip = Signature algorithm used to sign CSR
DViewCsr.jtfUnstructuredName.tooltip = Optional Company Name for compatibility with OpenSSL (PKCS#10 attribute "unstructuredName")
DViewCsr.Verify.title = Signature Verification Result
DViewCsr.VerifyOK.message = Signature is valid
DViewCsr.NoVerify.message = Signature is invalid

DViewDHParameters.ChooseExportFile.button = Choose
DViewDHParameters.ExportPem.Title = Export PEM
Expand Down
3 changes: 3 additions & 0 deletions kse/src/org/kse/gui/dialogs/resources_de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -569,3 +569,6 @@ RevokedCertsTableHeadRend.SerialNumberColumn.tooltip = Seriennummer des gesper

RevokedCertsTableModel.RevocationDateColumn = Datum der Sperrung
RevokedCertsTableModel.SerialNumberColumn = Seriennummer
DViewCsr.NoVerify.message=Signatur ist ung\u00FCltig
DViewCsr.Verify.title=Ergebnis der Signaturpr\u00FCfung
DViewCsr.VerifyOK.message=Signatur ist g\u00FCltig
1 change: 1 addition & 0 deletions kse/src/org/kse/version/JavaVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ public class JavaVersion implements Comparable<Object> {
public static final JavaVersion JRE_VERSION_21 = new JavaVersion("21");
public static final JavaVersion JRE_VERSION_22 = new JavaVersion("22");
public static final JavaVersion JRE_VERSION_23 = new JavaVersion("23");
public static final JavaVersion JRE_VERSION_24 = new JavaVersion("24");

/**
* Construct a JavaVersion object for the current Java environment.
Expand Down

0 comments on commit 5c79281

Please sign in to comment.