public void execute() throws IOException, NoSuchAlgorithmException { if (alias.equals("-help")) { doHelp(); return; } warnIfTransientProvider(); try { char[] credential = null; if (value != null) { // testing only credential = value.toCharArray(); } else { credential = promptForCredential(); } provider.createCredentialEntry(alias, credential); provider.flush(); getOut().println(alias + " has been successfully created."); printProviderWritten(); } catch (InvalidParameterException e) { getOut().println("Credential " + alias + " has NOT been created. " + e.getMessage()); throw e; } catch (IOException e) { getOut().println("Credential " + alias + " has NOT been created. " + e.getMessage()); throw e; } }
for (CredentialProvider provider : providers) { try { CredentialEntry entry = provider.getCredentialEntry(name); if (entry != null) { pass = entry.getCredential();
public void execute() throws IOException { List<String> aliases; try { aliases = provider.getAliases(); getOut().println("Listing aliases for CredentialProvider: " + provider.toString()); for (String alias : aliases) { getOut().println(alias); } } catch (IOException e) { getOut().println("Cannot list aliases for CredentialProvider: " + provider.toString() + ": " + e.getMessage()); throw e; } }
public void execute() throws IOException { if (alias.equals("-help")) { doHelp(); return; } warnIfTransientProvider(); getOut().println("Deleting credential: " + alias + " from CredentialProvider: " + provider.toString()); if (cont) { try { provider.deleteCredentialEntry(alias); getOut().println("Credential " + alias + " has been successfully deleted."); provider.flush(); printProviderWritten(); } catch (IOException e) { getOut().println("Credential " + alias + " has NOT been deleted."); throw e; } } }
@BeforeClass public static void setup() throws Exception { conf = new Configuration(true); final String ourUrl = UserProvider.SCHEME_NAME + ":///"; conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, ourUrl); // THis should be a UserGroupInformation provider CredentialProvider provider = CredentialProviderFactory.getProviders(conf).get(0); // The user credentials are stored as a static variable by UserGrouoInformation provider. // We need to only set the password the first time, an attempt to set it for the second // time fails with an exception. if(provider.getCredentialEntry(ServerConfig.SENTRY_STORE_JDBC_PASS) == null) { provider.createCredentialEntry(ServerConfig.SENTRY_STORE_JDBC_PASS, passwd); provider.flush(); } dataDir = new File(Files.createTempDir(), "sentry_policy_db"); conf.set(ServerConfig.SENTRY_VERIFY_SCHEM_VERSION, "false"); conf.set(ServerConfig.SENTRY_STORE_JDBC_URL, "jdbc:derby:;databaseName=" + dataDir.getPath() + ";create=true"); conf.set(ServerConfig.SENTRY_STORE_JDBC_PASS, "dummy"); conf.setStrings(ServerConfig.ADMIN_GROUPS, adminGroups); conf.set(ServerConfig.SENTRY_STORE_GROUP_MAPPING, ServerConfig.SENTRY_STORE_LOCAL_GROUP_MAPPING); policyFilePath = new File(dataDir, "local_policy_file.ini"); conf.set(ServerConfig.SENTRY_STORE_GROUP_MAPPING_RESOURCE, policyFilePath.getPath()); conf.setInt(ServerConfig.SENTRY_STORE_TRANSACTION_RETRY, 10); }
public static void main(String[] args) throws IOException { // prompt for the provider name CredentialProvider provider = getCredentialProvider(textDevice); if(provider != null) { char[] cred; for (String key : KEYS) { cred = getPassword(textDevice, key); // create a credential entry and store it boolean overwrite = true; if (provider.getCredentialEntry(key) != null) { String choice = textDevice.readLine("Entry for %s already exists. Overwrite? (y/n) [y]:", key); overwrite = StringUtils.isEmpty(choice) || choice.equalsIgnoreCase("y"); if (overwrite) { provider.deleteCredentialEntry(key); provider.flush(); provider.createCredentialEntry(key, cred); provider.flush(); textDevice.printf("Entry for %s was overwritten with the new value.\n", key); } else { textDevice.printf("Entry for %s was not overwritten.\n", key); } } else { provider.createCredentialEntry(key, cred); provider.flush(); } } } }
c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); Set<String> existingAliases = new HashSet<>(credentialProvider.getAliases()); for (String alias : aliases) { if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { credentialProvider.createCredentialEntry(alias, pass); credentialProvider.flush(); Arrays.fill(pass, ' ');
for(CredentialProvider provider: providers) { aliasesList=provider.getAliases(); if(aliasesList!=null && aliasesList.contains(alias.toLowerCase())){ credEntry=null; credEntry= provider.getCredentialEntry(alias); pass = credEntry.getCredential(); if(pass!=null && pass.length>0){
protected void warnIfTransientProvider() { if (provider.isTransient()) { getOut().println("WARNING: you are modifying a transient provider."); } }
assertEquals(null, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEY_PASSWORD_KEY)); assertEquals(null, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEYSTORE_PASSWORD_KEY)); assertEquals(null, provider.getCredentialEntry( WebAppUtils.WEB_APP_TRUSTSTORE_PASSWORD_KEY)); provider.createCredentialEntry( WebAppUtils.WEB_APP_KEY_PASSWORD_KEY, keypass); provider.createCredentialEntry( WebAppUtils.WEB_APP_KEYSTORE_PASSWORD_KEY, storepass); provider.createCredentialEntry( WebAppUtils.WEB_APP_TRUSTSTORE_PASSWORD_KEY, trustpass); provider.flush(); } catch (Exception e) { e.printStackTrace(); assertArrayEquals(keypass, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEY_PASSWORD_KEY).getCredential()); assertArrayEquals(storepass, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEYSTORE_PASSWORD_KEY).getCredential()); assertArrayEquals(trustpass, provider.getCredentialEntry( WebAppUtils.WEB_APP_TRUSTSTORE_PASSWORD_KEY).getCredential()); return conf;
assertEquals(null, provider.getCredentialEntry("no-such-key")); assertEquals(null, provider.getCredentialEntry("key")); provider.createCredentialEntry("pass", passwd); } catch (Exception e) { e.printStackTrace(); assertArrayEquals(passwd, provider.getCredentialEntry("pass").getCredential()); provider.createCredentialEntry("pass", passwd); assertTrue("should throw", false); } catch (IOException e) { assertEquals("Credential pass already exists in " + ourUrl, e.getMessage()); provider.deleteCredentialEntry("pass"); try { provider.deleteCredentialEntry("pass"); assertTrue("should throw", false); } catch (IOException e) { provider.createCredentialEntry("pass", passwd); provider.createCredentialEntry("pass2", passTwo); assertArrayEquals(passTwo, provider.getCredentialEntry("pass2").getCredential()); provider.flush(); assertTrue(provider != null); assertArrayEquals(new char[]{'1', '2', '3'},
c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); Set<String> existingAliases = new HashSet<>(credentialProvider.getAliases()); for (String alias : aliases) { if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { credentialProvider.createCredentialEntry(alias, pass); credentialProvider.flush(); Arrays.fill(pass, ' ');
public void execute() throws IOException { warnIfTransientProvider(); out.println("Deleting credential: " + alias + " from CredentialProvider: " + provider.toString()); if (cont) { try { provider.deleteCredentialEntry(alias); out.println(alias + " has been successfully deleted."); provider.flush(); printProviderWritten(); } catch (IOException e) { out.println(alias + " has NOT been deleted."); throw e; } } }
protected CredentialProvider getCredentialProvider() { CredentialProvider prov = null; List<CredentialProvider> providers; try { providers = CredentialProviderFactory.getProviders(getConf()); if (userSuppliedProvider) { prov = providers.get(0); } else { for (CredentialProvider p : providers) { if (!p.isTransient()) { prov = p; break; } } } } catch (IOException e) { e.printStackTrace(getErr()); } if (prov == null) { getOut().println(NO_VALID_PROVIDERS); } return prov; }
assertEquals(null, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEY_PASSWORD_KEY)); assertEquals(null, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEYSTORE_PASSWORD_KEY)); assertEquals(null, provider.getCredentialEntry( WebAppUtils.WEB_APP_TRUSTSTORE_PASSWORD_KEY)); provider.createCredentialEntry( WebAppUtils.WEB_APP_KEY_PASSWORD_KEY, keypass); provider.createCredentialEntry( WebAppUtils.WEB_APP_KEYSTORE_PASSWORD_KEY, storepass); provider.createCredentialEntry( WebAppUtils.WEB_APP_TRUSTSTORE_PASSWORD_KEY, trustpass); provider.flush(); } catch (Exception e) { e.printStackTrace(); assertArrayEquals(keypass, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEY_PASSWORD_KEY).getCredential()); assertArrayEquals(storepass, provider.getCredentialEntry( WebAppUtils.WEB_APP_KEYSTORE_PASSWORD_KEY).getCredential()); assertArrayEquals(trustpass, provider.getCredentialEntry( WebAppUtils.WEB_APP_TRUSTSTORE_PASSWORD_KEY).getCredential()); return conf;
public void execute() throws IOException, NoSuchAlgorithmException { warnIfTransientProvider(); try { char[] credential = null; if (value != null) { // testing only credential = value.toCharArray(); } else { credential = promptForCredential(); } provider.createCredentialEntry(alias, credential); out.println(alias + " has been successfully created."); provider.flush(); printProviderWritten(); } catch (InvalidParameterException e) { out.println(alias + " has NOT been created. " + e.getMessage()); throw e; } catch (IOException e) { out.println(alias + " has NOT been created. " + e.getMessage()); throw e; } }
assertEquals(null, provider.getCredentialEntry("no-such-key")); assertEquals(null, provider.getCredentialEntry("key")); provider.createCredentialEntry("pass", passwd); } catch (Exception e) { e.printStackTrace(); assertArrayEquals(passwd, provider.getCredentialEntry("pass").getCredential()); provider.createCredentialEntry("pass", passwd); assertTrue("should throw", false); } catch (IOException e) { assertEquals("Credential pass already exists in " + ourUrl, e.getMessage()); provider.deleteCredentialEntry("pass"); try { provider.deleteCredentialEntry("pass"); assertTrue("should throw", false); } catch (IOException e) { provider.createCredentialEntry("pass", passwd); provider.createCredentialEntry("pass2", passTwo); assertArrayEquals(passTwo, provider.getCredentialEntry("pass2").getCredential()); provider.flush(); assertTrue(provider != null); assertArrayEquals(new char[]{'1', '2', '3'},
public void execute() throws IOException { warnIfTransientProvider(); out.println("Deleting credential: " + alias + " from CredentialProvider: " + provider.toString()); if (cont) { try { provider.deleteCredentialEntry(alias); out.println(alias + " has been successfully deleted."); provider.flush(); printProviderWritten(); } catch (IOException e) { out.println(alias + " has NOT been deleted."); throw e; } } }
CredentialEntry entry = provider.getCredentialEntry(name); if (entry != null) { return entry; entry = provider.getCredentialEntry(oldName); if (entry != null) { logDeprecationOnce(oldName, provider.toString()); if (keyInfo != null && keyInfo.newKeys != null) { for (String newName : keyInfo.newKeys) { entry = provider.getCredentialEntry(newName); if (entry != null) { logDeprecationOnce(name, null);
public void execute() throws IOException { List<String> aliases; try { aliases = provider.getAliases(); out.println("Listing aliases for CredentialProvider: " + provider.toString()); for (String alias : aliases) { out.println(alias); } } catch (IOException e) { out.println("Cannot list aliases for CredentialProvider: " + provider.toString() + ": " + e.getMessage()); throw e; } }