Hello all
I'm trying to verify a keystore password programitically and have gone completely blank :( Basically what I'm trying to do is compare the password the two passwords, ie the one first created to the one the user has entered to load the previoulsy created keystore. Has anyone got any ideas???
Below is a sample of the code:
char[] keyStorePass;
tring DEFAULT_KEYSTORE_NAME = ".mykeystore";
File homedir = new File(System.getProperty("user.home"));
File keyStoreFilePath= new File(homedir, DEFAULT_KEYSTORE_NAME);;
KeyStore objKeyStore;
InputStream keyStoreIn;
public void keystoreage()
{
System.out.println("KeyStore Path: " + keyStoreFilePath);
String fileSep = System.getProperty("file.separator");
String javaHome = System.getProperty("java.home");
System.out.println("Java Home = " + javaHome);
try{
//create new password or enter previously created password
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Keystore password: ");
String kspasswd = br.readLine();
keyStorePass = new char[kspasswd.length()];
kspasswd.getChars(0,kspasswd.length(), keyStorePass, 0);
//check password length
if (keyStorePass.length < 6){
System.out.println("Password must be at least 6 characters long");
System.out.println("");
System.exit(0);
}//end if
//returns individual password characters
System.out.println("Keystore password has " + keyStorePass.length + " characters:");
for (int i = 0; i < keyStorePass.length; i ++)
System.out.print("'" + keyStorePass[i] + "' ");
System.out.println();
objKeyStore = KeyStore.getInstance("JKS");
//creates new keystore in path with password
if(keyStoreFilePath.exists() == false)
{
keyStoreIn = new FileInputStream(keyStoreFilePath);
objKeyStore.load(keyStoreIn, keyStorePass);
System.out.println("New KeyStore created at:(" + keyStoreFilePath+")...");
System.out.println("");
keyStoreIn.close();
saveKeyStoreage();
}//end if
else{
//loads previously created keystore and verifies password
System.out.println("KeyStore ("+keyStoreFilePath+") ...");
System.out.println("");
//verify password
System.out.println("Verifying password for " + objKeyStore);
//if()
//System.err.println("Entered incorrect password, please try again");
objKeyStore.load(null, keyStorePass);
saveKeyStoreage();
}//end else