Skip to content

Commit b73651a

Browse files
committed
Added JVM flag to generate DB password
1 parent 6da7079 commit b73651a

1 file changed

Lines changed: 17 additions & 8 deletions

File tree

src/main/java/com/keybox/common/db/DBInitServlet.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
import com.keybox.common.util.AppConfig;
1919
import com.keybox.manage.model.Auth;
2020
import com.keybox.manage.util.DBUtils;
21-
import com.keybox.manage.util.DSPool;
2221
import com.keybox.manage.util.EncryptionUtil;
23-
import com.keybox.manage.util.KeyStoreUtil;
2422
import com.keybox.manage.util.RefreshAuthKeyUtil;
2523
import com.keybox.manage.util.SSHUtil;
2624

@@ -31,6 +29,7 @@
3129
import java.sql.PreparedStatement;
3230
import java.sql.ResultSet;
3331
import java.sql.Statement;
32+
import java.util.Scanner;
3433

3534
import org.apache.commons.lang.RandomStringUtils;
3635
import org.apache.commons.lang3.StringUtils;
@@ -67,12 +66,22 @@ public void init(ServletConfig config) throws ServletException {
6766
if(StringUtils.isEmpty(AppConfig.getProperty("dbPassword"))) {
6867
String dbPassword = null;
6968
String dbPasswordConfirm = null;
70-
//prompt for password and confirmation
71-
while (dbPassword == null || !dbPassword.equals(dbPasswordConfirm)) {
72-
dbPassword = new String(System.console().readPassword("Please enter database password: "));
73-
dbPasswordConfirm = new String(System.console().readPassword("Please confirm database password: "));
74-
if (!dbPassword.equals(dbPasswordConfirm)) {
75-
System.out.println("Passwords do not match");
69+
if(!"true".equals(System.getProperty("GEN_DB_PASS"))) {
70+
//prompt for password and confirmation
71+
while (dbPassword == null || !dbPassword.equals(dbPasswordConfirm)) {
72+
if (System.console() == null) {
73+
Scanner in = new Scanner(System.in);
74+
System.out.println("Please enter database password: ");
75+
dbPassword = in.nextLine();
76+
System.out.println("Please confirm database password: ");
77+
dbPasswordConfirm = in.nextLine();
78+
} else {
79+
dbPassword = new String(System.console().readPassword("Please enter database password: "));
80+
dbPasswordConfirm = new String(System.console().readPassword("Please confirm database password: "));
81+
}
82+
if (!dbPassword.equals(dbPasswordConfirm)) {
83+
System.out.println("Passwords do not match");
84+
}
7685
}
7786
}
7887
//set password

0 commit comments

Comments
 (0)