From 76ca49a69e92ce1f459b66d461215bc37db79043 Mon Sep 17 00:00:00 2001 From: Furnell Date: Mon, 20 Feb 2023 09:30:48 +0000 Subject: [PATCH] Support data directory passed at runtime as command line arg --- pom.xml | 8 +- .../management/ClientKeyStore.java | 2 +- .../java/uk/ngs/ca/common/LocalBackup.java | 5 +- .../java/uk/ngs/ca/common/SystemStatus.java | 15 +- ...nlineUpdateKeyStoreEntriesSwingWorker.java | 4 +- .../uk/ngs/ca/tools/property/SysProperty.java | 3 +- .../uk/ngs/certwizard/gui/CertWizardMain.java | 34 ++-- .../ngs/certwizard/gui/GetBootstrapDir.java | 158 +++++++----------- .../gui/KeyStorePropertiesJDialog.java | 42 ----- .../uk/ngs/certwizard/gui/PasswordPanel.java | 3 +- src/main/resources/configure.properties | 8 +- 11 files changed, 96 insertions(+), 186 deletions(-) diff --git a/pom.xml b/pom.xml index 0edc4c4..c2c2779 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 uk.ngs CertWizard - 2.0.1 + 2.1.0 org.bouncycastle @@ -80,7 +80,7 @@ 1.9 1.9 uk.ngs.certwizard.gui.CertWizardMain - C:\\Users\\fou43474\\OneDrive - Science and Technology Facilities Council\\Documents\\Certs\\ComodoCodeSign-all.p12 + C:\\Users\\fou43474\\OneDrive - Science and Technology Facilities Council\\Documents\\Certs\\UKRICodeSign.p12 @@ -182,7 +182,7 @@ ${mainClass} true - 2.0.1 + 2.1.0 CertWizard STFC https://stfc.ukri.org @@ -226,7 +226,7 @@ mac true - C:\jdk\mac\jdk-11.0.15+10\Contents\Home + C:\jdk\mac\jdk-11.0.18+10\Contents\Home src/main/resources/ngs-icon.icns diff --git a/src/main/java/uk/ngs/ca/certificate/management/ClientKeyStore.java b/src/main/java/uk/ngs/ca/certificate/management/ClientKeyStore.java index a8ac01c..c503967 100644 --- a/src/main/java/uk/ngs/ca/certificate/management/ClientKeyStore.java +++ b/src/main/java/uk/ngs/ca/certificate/management/ClientKeyStore.java @@ -103,7 +103,7 @@ static synchronized ClientKeyStore getClientkeyStore(char[] passphrase) throws K * @throws IllegalStateException if the KeyStore cannot be initialized. */ private ClientKeyStore(char[] passphrase) throws KeyStoreException, IOException, CertificateException { - String caDir = SystemStatus.getInstance().getHomeDir() + File.separator + ".ca"; + String caDir = SystemStatus.getInstance().getCwDataDirectory().toString(); this.PASSPHRASE = passphrase; this.keyStoreFilePath = caDir + File.separator + SysProperty.getValue("ngsca.key.keystore.file"); this.backupDir = caDir + File.separator + "backup"; diff --git a/src/main/java/uk/ngs/ca/common/LocalBackup.java b/src/main/java/uk/ngs/ca/common/LocalBackup.java index c1b764f..ab70480 100644 --- a/src/main/java/uk/ngs/ca/common/LocalBackup.java +++ b/src/main/java/uk/ngs/ca/common/LocalBackup.java @@ -35,9 +35,8 @@ public LocalBackup() { public boolean isSuccess() { String _keyFile = SysProperty.getValue("ngsca.key.keystore.file"); String _keyBackupFile = SysProperty.getValue("ngsca.key.keystore.backup.file"); - String backupDir = SystemStatus.getInstance().getHomeDir().getAbsolutePath(); - backupDir = backupDir + System.getProperty("file.separator") + ".ca"; - String configDir = backupDir; + String configDir = SystemStatus.getInstance().getCwDataDirectory().getAbsolutePath(); + String backupDir = configDir; backupDir = backupDir + System.getProperty("file.separator") + "backup"; String keyFile = configDir + System.getProperty("file.separator") + _keyFile; String keyBackupFile = backupDir + System.getProperty("file.separator") + _keyBackupFile; diff --git a/src/main/java/uk/ngs/ca/common/SystemStatus.java b/src/main/java/uk/ngs/ca/common/SystemStatus.java index 865c70d..682b7c4 100644 --- a/src/main/java/uk/ngs/ca/common/SystemStatus.java +++ b/src/main/java/uk/ngs/ca/common/SystemStatus.java @@ -31,16 +31,16 @@ */ public class SystemStatus extends Observable { - private File homeDir = new File(System.getProperty("user.home")); + private File cwDataDirectory = new File(System.getProperty("user.home") + File.separator + ".ca"); private boolean isOnline = false; - public synchronized File getHomeDir() { - return new File(this.homeDir.getAbsolutePath()); + public synchronized File getCwDataDirectory() { + return new File(this.cwDataDirectory.getAbsolutePath()); } - public synchronized void setHomeDir(File dir) { - this.homeDir = dir; + public synchronized void setCwDataDirectory(File dir) { + this.cwDataDirectory = dir; } public synchronized boolean getIsOnline() { @@ -87,10 +87,7 @@ public static SystemStatus getInstance() { public synchronized boolean isExistKeyStore() { String key = "ngsca.key.keystore.file"; String value = SysProperty.getValue(key); - String homePath = SystemStatus.getInstance().getHomeDir().getAbsolutePath(); - homePath = homePath + System.getProperty("file.separator") + ".ca"; - homePath = homePath + System.getProperty("file.separator") + value; - return new File(homePath).exists(); + return new File(SystemStatus.getInstance().getCwDataDirectory().getAbsolutePath() + File.separator + value).exists(); } } diff --git a/src/main/java/uk/ngs/ca/task/OnlineUpdateKeyStoreEntriesSwingWorker.java b/src/main/java/uk/ngs/ca/task/OnlineUpdateKeyStoreEntriesSwingWorker.java index 9c32bcb..b2c30aa 100644 --- a/src/main/java/uk/ngs/ca/task/OnlineUpdateKeyStoreEntriesSwingWorker.java +++ b/src/main/java/uk/ngs/ca/task/OnlineUpdateKeyStoreEntriesSwingWorker.java @@ -109,8 +109,8 @@ public void done() { if (this.exception != null) { JOptionPane.showMessageDialog(null, "Please contact the helpdesk. A backup of your keystore is located in:\n" - + SystemStatus.getInstance().getHomeDir().getAbsolutePath() + File.separator + ".ca\n" - + "Exeption message: " + this.exception.getMessage(), + + SystemStatus.getInstance().getCwDataDirectory().getAbsolutePath() + "\n" + + "Exception message: " + this.exception.getMessage(), "Keystore problem", JOptionPane.WARNING_MESSAGE); } diff --git a/src/main/java/uk/ngs/ca/tools/property/SysProperty.java b/src/main/java/uk/ngs/ca/tools/property/SysProperty.java index b5cb0da..43c8e44 100644 --- a/src/main/java/uk/ngs/ca/tools/property/SysProperty.java +++ b/src/main/java/uk/ngs/ca/tools/property/SysProperty.java @@ -110,8 +110,7 @@ public static void setupTrustStore() { if (value == null) { throw new IllegalStateException("There is no trust store file name. Please check out config.properties."); } - String homePath = SystemStatus.getInstance().getHomeDir().getAbsolutePath(); - homePath = homePath + System.getProperty("file.separator") + ".ca"; + String homePath = SystemStatus.getInstance().getCwDataDirectory().getAbsolutePath(); homePath = homePath + System.getProperty("file.separator") + value; String keyStoreFile = homePath; // ~/.ca/truststore.jks diff --git a/src/main/java/uk/ngs/certwizard/gui/CertWizardMain.java b/src/main/java/uk/ngs/certwizard/gui/CertWizardMain.java index addce14..982d0e1 100644 --- a/src/main/java/uk/ngs/certwizard/gui/CertWizardMain.java +++ b/src/main/java/uk/ngs/certwizard/gui/CertWizardMain.java @@ -27,6 +27,7 @@ import java.io.IOException; import java.net.URL; import java.nio.file.Path; +import java.nio.file.Paths; /** * The main frame class. @@ -42,12 +43,12 @@ public class CertWizardMain extends javax.swing.JFrame { /** * Creates new form CertWizardMainFrame */ - public CertWizardMain() { + public CertWizardMain(String dataDirectoryLocationOverride) { initComponents(); - setupFrame(); + setupFrame(dataDirectoryLocationOverride); } - private void setupFrame() { + private void setupFrame(String bootstrapDirectoryLocationOverride) { this.setLayout(new BorderLayout()); URL iconURL = CertWizardMain.class.getResource("/ngs-icon.png"); if (iconURL != null) { @@ -59,13 +60,12 @@ private void setupFrame() { this.setTitle(title); this.createGlobusDirIfNotExistsShowWarnings(); - this.setupHomeDir(); + this.setupDataDirectory(bootstrapDirectoryLocationOverride); try { SysProperty.setupTrustStore(); // throws IllegalStateException if prob String trustStoreFile = SysProperty.getValue("ngsca.truststore.file"); - String trustStorePath = SystemStatus.getInstance().getHomeDir().getAbsolutePath(); - trustStorePath = trustStorePath + System.getProperty("file.separator") + ".ca"; + String trustStorePath = SystemStatus.getInstance().getCwDataDirectory().getAbsolutePath(); trustStorePath = trustStorePath + System.getProperty("file.separator") + trustStoreFile; System.out.println("trustStore file path [" + trustStorePath + "]"); @@ -80,6 +80,7 @@ private void setupFrame() { } } catch (Exception ex) { + ex.printStackTrace(); JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); System.exit(0); } @@ -102,18 +103,16 @@ private void setupFrame() { this.pack(); } - private void setupHomeDir() { - GetBootstrapDir bootDia = new GetBootstrapDir(this, true, ".ca"); + private void setupDataDirectory(String bootstrapDirectoryLocationOverride) { + Path dataDirectory; + GetBootstrapDir bootDia = new GetBootstrapDir(this, true, bootstrapDirectoryLocationOverride); bootDia.setLocationRelativeTo(null); bootDia.setVisible(true); - Path homeDir = bootDia.getBootDir(); - - if (homeDir == null) { + dataDirectory = bootDia.getBootDir(); + if (dataDirectory == null) { System.exit(0); - } else if (homeDir.endsWith(".ca")) { - homeDir = homeDir.getParent(); } - SystemStatus.getInstance().setHomeDir(homeDir.toFile()); + SystemStatus.getInstance().setCwDataDirectory(dataDirectory.toFile()); } private void createGlobusDirIfNotExistsShowWarnings() { @@ -196,6 +195,10 @@ private void initComponents() { * @param args the command line arguments */ public static void main(String[] args) { + String dataDirectoryLocationOverride = ""; + if (args.length > 0) { + dataDirectoryLocationOverride = args[0]; + } /* * Set the Nimbus look and feel */ @@ -210,8 +213,9 @@ public static void main(String[] args) { /* * Create and display the form */ + String finalDataDirectoryLocationOverride = dataDirectoryLocationOverride; java.awt.EventQueue.invokeLater(() -> { - CertWizardMain cw = new CertWizardMain(); + CertWizardMain cw = new CertWizardMain(finalDataDirectoryLocationOverride); cw.setLocationRelativeTo(null); cw.setVisible(true); }); diff --git a/src/main/java/uk/ngs/certwizard/gui/GetBootstrapDir.java b/src/main/java/uk/ngs/certwizard/gui/GetBootstrapDir.java index 773e909..1a26cdf 100644 --- a/src/main/java/uk/ngs/certwizard/gui/GetBootstrapDir.java +++ b/src/main/java/uk/ngs/certwizard/gui/GetBootstrapDir.java @@ -19,6 +19,7 @@ package uk.ngs.certwizard.gui; import javax.swing.*; +import java.awt.*; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -37,7 +38,7 @@ public class GetBootstrapDir extends javax.swing.JDialog { private String dirName = ".ca"; private final String SELECTED_CA_DIR = "Open this keyStore folder      OR
" + "Browse for another keyStore folder"; - private final String SELECTED_PAR_DIR = "Create a new '" + dirName + "' keyStore folder in selected folder      OR
" + private final String SELECTED_PAR_DIR = "Use selected folder as a data directory       OR
" + "Browse for your keyStore folder"; private Path bootDir; @@ -46,21 +47,20 @@ public class GetBootstrapDir extends javax.swing.JDialog { * * @param parent * @param modal - * @param dirName Search for a folder with this name in the default OS HOME - * locations (varies according to OS). */ - public GetBootstrapDir(java.awt.Frame parent, boolean modal, String dirName) { + public GetBootstrapDir(java.awt.Frame parent, boolean modal, String customDataDirectory) { super(parent, modal); initComponents(); - if (dirName == null) { - throw new RuntimeException("Invalid dirName, must have a value"); - } - this.dirName = dirName; - initMyComponents(); + initMyComponents(customDataDirectory); } - private void initMyComponents() { - Path dir = this.getDefaultBootDir(); + private void initMyComponents(String customDataDirectory) { + Path dir; + if (customDataDirectory.equals("")) { + dir = this.getDefaultBootDir(); + } else { + dir = new File(customDataDirectory).toPath(); + } this.bootDir = dir; this.jTextField1.setText(dir.toString()); this.setLabelText(); @@ -86,32 +86,7 @@ private void setLabelText() { * @return */ private Path getDefaultBootDir() { - Path findBootDir = new File(System.getProperty("user.home")).toPath(); - if (Files.isWritable(findBootDir)) { - // We can access home dir, so lets see if previous installation exists - Path caDir = Paths.get(findBootDir.toString(), this.dirName); - if (Files.isDirectory(caDir) && Files.isWritable(caDir)) { - findBootDir = caDir; - } - } else { - // Dont have access to 'user.home' - prob due to the known un-fixed java bug: - // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4787931 - // However, before asking the user to select an alternative folder - // first check to see if the JFileChooser will automatically select - // another home dir (e.g. on Win its USERPROFILE) and test to see if - // USERPROFILE/.ca already exists - JFileChooser jf = new JFileChooser(); // does not necessarily use 'user.home' - jf.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - findBootDir = jf.getCurrentDirectory().toPath(); - if (Files.isWritable(findBootDir)) { - // We can access home dir, so lets see if previous installation exists - Path caDir = Paths.get(findBootDir.toString(), this.dirName); - if (Files.isDirectory(caDir) && Files.isWritable(caDir)) { - findBootDir = caDir; - } - } - } - return findBootDir; + return new File(System.getProperty("user.home") + File.separator + ".ca").toPath(); } /** @@ -125,7 +100,28 @@ public Path getBootDir() { } private boolean setCaDir(Path dir) { - if (!Files.isDirectory(dir)) { + dir = Paths.get(dir.toString()); + if (Files.isDirectory(dir) && Files.isWritable(dir)) { + // Confirm selection dialog and return true if confirmed + int retval = JOptionPane.showConfirmDialog(this, "Open the following keyStore folder?\n" + + dir, "Confirm", JOptionPane.YES_NO_CANCEL_OPTION); + if (retval == JOptionPane.OK_OPTION) { + this.bootDir = dir; + return true; + } + } else if (!Files.exists(dir)) { + int retval = JOptionPane.showConfirmDialog(this, "Create this data directory?", + "Confirm", JOptionPane.YES_NO_CANCEL_OPTION); + if (retval == JOptionPane.OK_OPTION) { + try { + this.bootDir = Files.createDirectory(dir); + return true; + } catch (IOException ex) { + JOptionPane.showMessageDialog(this, "Could not create data directory: " + ex.getMessage(), + "Folder Creation Error", JOptionPane.ERROR_MESSAGE); + } + } + } else if (!Files.isDirectory(dir)) { JOptionPane.showMessageDialog(this, "Selected file is not a folder." + "Please select a writable folder.", "Folder Selection Error", JOptionPane.ERROR_MESSAGE); return false; @@ -135,36 +131,6 @@ private boolean setCaDir(Path dir) { + "Please select a writable folder.", "Folder Selection Error", JOptionPane.ERROR_MESSAGE); return false; } - // We have a writable directory but not a .ca dir - if (!dir.endsWith(this.dirName)) { - // check to see that a .ca sub-dir does not already exist - dir = Paths.get(dir.toString(), this.dirName); - if (Files.isDirectory(dir) && Files.isWritable(dir)) { - // Confirm selection dialog and return true if confirmed - int retval = JOptionPane.showConfirmDialog(this, "Open the following keyStore folder?\n" - + dir, "Confirm", JOptionPane.INFORMATION_MESSAGE); - if (retval == JOptionPane.OK_OPTION) { - this.bootDir = dir; - return true; - } - } else if (!Files.exists(dir)) { - // Confirm creation of the .ca dir and return true if confirmed/created - int retval = JOptionPane.showConfirmDialog(this, "Create '" + this.dirName + "' keyStore folder in this directory?", - "Confirm", JOptionPane.INFORMATION_MESSAGE); - if (retval == JOptionPane.OK_OPTION) { - try { - this.bootDir = Files.createDirectory(dir); - return true; - } catch (IOException ex) { - JOptionPane.showMessageDialog(this, "Could not create '" + this.dirName + "' keyStore folder: " + ex.getMessage(), - "Folder Creation Error", JOptionPane.ERROR_MESSAGE); - } - } - } - } // We have a writable .ca dir - else { - return true; - } return false; } @@ -253,7 +219,7 @@ private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN- private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed if (this.setCaDir(this.bootDir)) { - // If setCaDir returns true - a writable '.ca' dir was selected/created + // If setCaDir returns true - a writable data dir was selected/created // so hide this dialog. this.setVisible(false); } @@ -268,45 +234,33 @@ private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN- } }//GEN-LAST:event_cancelButtonActionPerformed - /** - * @param args the command line arguments - */ + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton browseButton; + private javax.swing.JButton cancelButton; + private javax.swing.JLabel jLabel1; + private javax.swing.JTextField jTextField1; + private javax.swing.JButton okButton; + // End of variables declaration//GEN-END:variables + public static void main(String[] args) { - /* Set the Nimbus look and feel */ + /* + * Set the Nimbus look and feel + */ // - /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. - * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + /* + * If Nimbus (introduced in Java SE 6) is not available, stay with the + * default look and feel. For details see + * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ - try { - for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { - if ("Nimbus".equals(info.getName())) { - javax.swing.UIManager.setLookAndFeel(info.getClassName()); - break; - } - } - } catch (ClassNotFoundException | UnsupportedLookAndFeelException | IllegalAccessException | InstantiationException ex) { - java.util.logging.Logger.getLogger(GetBootstrapDir.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } // - /* Create and display the dialog */ + /* + * Create and display the form + */ java.awt.EventQueue.invokeLater(() -> { - GetBootstrapDir dialog = new GetBootstrapDir(new JFrame(), true, ".ca"); - dialog.addWindowListener(new java.awt.event.WindowAdapter() { - @Override - public void windowClosing(java.awt.event.WindowEvent e) { - System.exit(0); - } - }); - dialog.setVisible(true); + GetBootstrapDir cw = new GetBootstrapDir(new Frame(), true, ".ca"); + cw.setLocationRelativeTo(null); + cw.setVisible(true); }); } - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JButton browseButton; - private javax.swing.JButton cancelButton; - private javax.swing.JLabel jLabel1; - private javax.swing.JTextField jTextField1; - private javax.swing.JButton okButton; - // End of variables declaration//GEN-END:variables } diff --git a/src/main/java/uk/ngs/certwizard/gui/KeyStorePropertiesJDialog.java b/src/main/java/uk/ngs/certwizard/gui/KeyStorePropertiesJDialog.java index e7b1f67..fb74f2d 100644 --- a/src/main/java/uk/ngs/certwizard/gui/KeyStorePropertiesJDialog.java +++ b/src/main/java/uk/ngs/certwizard/gui/KeyStorePropertiesJDialog.java @@ -39,14 +39,6 @@ public class KeyStorePropertiesJDialog extends javax.swing.JDialog { private MainWindowPanel masterPane; private char[] passphrase; - /** - * Creates new form KeyStorePropertiesJDialog - */ - public KeyStorePropertiesJDialog(java.awt.Frame parent, boolean modal) { - super(parent, modal); - initComponents(); - } - public KeyStorePropertiesJDialog(java.awt.Frame parent, boolean modal, MainWindowPanel masterPane, ClientKeyStoreCaServiceWrapper caKeyStoreModel) { super(parent, modal); @@ -169,40 +161,6 @@ private void changePwButtonActionPerformed(java.awt.event.ActionEvent evt) {//GE this.doChangePasswordAction(); }//GEN-LAST:event_changePwButtonActionPerformed - /** - * @param args the command line arguments - */ - public static void main(String[] args) { - /* Set the Nimbus look and feel */ - // - /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. - * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html - */ - try { - for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { - if ("Nimbus".equals(info.getName())) { - javax.swing.UIManager.setLookAndFeel(info.getClassName()); - break; - } - } - } catch (ClassNotFoundException | UnsupportedLookAndFeelException | IllegalAccessException | InstantiationException ex) { - java.util.logging.Logger.getLogger(KeyStorePropertiesJDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - // - - /* Create and display the dialog */ - java.awt.EventQueue.invokeLater(() -> { - KeyStorePropertiesJDialog dialog = new KeyStorePropertiesJDialog(new JFrame(), true); - dialog.addWindowListener(new java.awt.event.WindowAdapter() { - @Override - public void windowClosing(java.awt.event.WindowEvent e) { - System.exit(0); - } - }); - dialog.setVisible(true); - }); - } - // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton changePwButton; private javax.swing.JLabel jLabel1; diff --git a/src/main/java/uk/ngs/certwizard/gui/PasswordPanel.java b/src/main/java/uk/ngs/certwizard/gui/PasswordPanel.java index 6c8486b..62c40d2 100644 --- a/src/main/java/uk/ngs/certwizard/gui/PasswordPanel.java +++ b/src/main/java/uk/ngs/certwizard/gui/PasswordPanel.java @@ -70,8 +70,7 @@ public PasswordPanel(JPanel parent) { okButton.setEnabled(false); String keyStoreFile = SysProperty.getValue("ngsca.key.keystore.file"); - String keyStorePath = SystemStatus.getInstance().getHomeDir().getAbsolutePath(); - keyStorePath = keyStorePath + System.getProperty("file.separator") + ".ca"; + String keyStorePath = SystemStatus.getInstance().getCwDataDirectory().getAbsolutePath(); keyStorePath = keyStorePath + System.getProperty("file.separator") + keyStoreFile; jLabel2.setText(keyStorePath); } diff --git a/src/main/resources/configure.properties b/src/main/resources/configure.properties index 9b79a35..c95e8ef 100644 --- a/src/main/resources/configure.properties +++ b/src/main/resources/configure.properties @@ -3,8 +3,8 @@ # Client side version of this tool (this must correspond to the version # supported by the server. -ngsca.certwizard.version=CertWizard 2.0.1 -ngsca.certwizard.versionNumber=2.0.1 +ngsca.certwizard.version=CertWizard 2.1.0 +ngsca.certwizard.versionNumber=2.1.0 # CA-Server host that this tool is configured to work with. #ngsca.base.url=https://ca-dev.esc.rl.ac.uk @@ -52,13 +52,13 @@ uk.ngs.ca.immegration.password.property=NGSCAPKCS12PASSWORD uk.ngs.ca.request.csr.url=https://cwiz-live.ca.ngs.ac.uk:443/CSR uk.ngs.ca.request.ca.url=https://cwiz-live.ca.ngs.ac.uk:443/CA uk.ngs.ca.request.ca.motd.text.url=https://cwiz-live.ca.ngs.ac.uk:443/CA/motd/text -uk.ngs.ca.request.useragent=NGS-CertWizard/2.0.1 +uk.ngs.ca.request.useragent=NGS-CertWizard/2.1.0 uk.ngs.ca.request.resource.publickey=https://cwiz-live.ca.ngs.ac.uk:443/resources/resource/publickey uk.ngs.ca.request.certificate.url=https://cwiz-live.ca.ngs.ac.uk:443/certificate uk.ngs.ca.request.revoke.url=https://cwiz-live.ca.ngs.ac.uk:443/revoke - uk.ngs.ca.request.pingservice.url=https://cwiz-live.ca.ngs.ac.uk:443/pingservice +uk.ngs.ca.request.pingservice.url=https://cwiz-live.ca.ngs.ac.uk:443/pingservice # for host and bulk host requests (this tool does not yet do bulk host, only single host) uk.ngs.ca.request.bulkhost.reqid.url=https://cwiz-live.ca.ngs.ac.uk:443/CSRs \ No newline at end of file