diff --git a/symmetric-util/src/main/java/org/jumpmind/security/SecurityService.java b/symmetric-util/src/main/java/org/jumpmind/security/SecurityService.java index 38403639d0..6561edcd2c 100644 --- a/symmetric-util/src/main/java/org/jumpmind/security/SecurityService.java +++ b/symmetric-util/src/main/java/org/jumpmind/security/SecurityService.java @@ -47,6 +47,7 @@ import javax.net.ssl.KeyManagerFactory; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.NotImplementedException; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -455,6 +456,11 @@ public void saveTrustStore(KeyStore ks) throws Exception { protected void saveKeyStore(KeyStore ks, String password) throws Exception { if (keyStoreFileName != null) { log.info("Saving keystore {}", keyStoreFileName); + try { + FileUtils.copyFile(new File(keyStoreFileName), new File(keyStoreFileName + ".bak")); + } catch (IOException e) { + log.warn("Unable to backup keystore: ", e.getMessage()); + } try (FileOutputStream os = new FileOutputStream(keyStoreFileName)) { ks.store(os, password.toCharArray()); }