aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
diff options
context:
space:
mode:
Diffstat (limited to 'netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java')
-rw-r--r--netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
index f309b02..ce36154 100644
--- a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
+++ b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
@@ -45,6 +45,7 @@ import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
+import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;
@@ -76,6 +77,7 @@ import net.sourceforge.jnlp.security.KeyStores;
import net.sourceforge.jnlp.security.SecurityUtil;
import net.sourceforge.jnlp.security.SecurityWarningDialog;
import net.sourceforge.jnlp.security.KeyStores.Level;
+import net.sourceforge.jnlp.util.FileUtils;
public class CertificatePane extends JPanel {
@@ -361,8 +363,13 @@ public class CertificatePane extends JPanel {
try {
KeyStore ks = keyStore;
CertificateUtils.addToKeyStore(chooser.getSelectedFile(), ks);
- OutputStream os = new FileOutputStream(
- KeyStores.getKeyStoreLocation(currentKeyStoreLevel, currentKeyStoreType));
+ File keyStoreFile = new File(KeyStores
+ .getKeyStoreLocation(currentKeyStoreLevel, currentKeyStoreType));
+ if (!keyStoreFile.isFile()) {
+ FileUtils.createRestrictedFile(keyStoreFile, true);
+ }
+
+ OutputStream os = new FileOutputStream(keyStoreFile);
ks.store(os, KeyStores.getPassword());
repopulateTables();
} catch (Exception ex) {
@@ -436,8 +443,12 @@ public class CertificatePane extends JPanel {
JOptionPane.YES_NO_OPTION);
if (i == 0) {
keyStore.deleteEntry(alias);
- FileOutputStream fos = new FileOutputStream(
- KeyStores.getKeyStoreLocation(currentKeyStoreLevel, currentKeyStoreType));
+ File keyStoreFile = new File(KeyStores
+ .getKeyStoreLocation(currentKeyStoreLevel, currentKeyStoreType));
+ if (!keyStoreFile.isFile()) {
+ FileUtils.createRestrictedFile(keyStoreFile, true);
+ }
+ FileOutputStream fos = new FileOutputStream(keyStoreFile);
keyStore.store(fos, KeyStores.getPassword());
fos.close();
}