public String generateKeyStorePassword() {
    return RandomStringUtils.random(16, 0, 0, true, true, null, srand);
  }
@Test
  void testGenerateKeyStorePassword() throws Exception {
    // We can't possibly test every possible string, but we can at least verify
    // a few things about a few of the generated strings as a sanity check
    ProxyCA proxyCA = new ProxyCA();
    proxyCA.init();
    Set<String> passwords = new HashSet<>();

    for (int i = 0; i < 5; i++) {
      String password = proxyCA.generateKeyStorePassword();
      assertEquals(16, password.length());
      for (char c : password.toCharArray()) {
        assertFalse(c < ' ', "Found character '" + c + "' in password '"
            + password + "' which is outside of the expected range");
        assertFalse(c > 'z', "Found character '" + c + "' in password '"
            + password + "' which is outside of the expected range");
      }
      assertFalse(passwords.contains(password),
          "Password " + password
              + " was generated twice, which is _extremely_ unlikely"
              + " and shouldn't practically happen: " + passwords);
      passwords.add(password);
    }
  }