ps.executeUpdate(ps.RETURN_GENERATED_KEYS)
Você inventou isso. Não existe.
ps = con.prepareStatement(Insert_Credential);
Isso não diz ao
PreparedStatement
para retornar as chaves geradas também. Você precisa disso:ps = con.prepareStatement(Insert_Credential, Statement.RETURN_GENERATED_KEYS);