public PasswordReader getPasswordReader() { if (passwordReader == null) { passwordReader = new PasswordReader(); } return passwordReader; }
public boolean validate() { provider = getCredentialProvider(); return (provider != null); }
protected void initFileSystem(URI uri) throws IOException { super.initFileSystem(uri); fs = getPath().getFileSystem(getConf()); }
try { List<CredentialProvider> providers = CredentialProviderFactory.getProviders(this); CredentialEntry entry = provider.getCredentialEntry(name); if (entry != null) { pass = entry.getCredential(); break;
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; } } }
try { List<CredentialProvider> providers = CredentialProviderFactory.getProviders(this); CredentialEntry entry = getCredentialEntry(provider, name); if (entry != null) { pass = entry.getCredential(); break;
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; }
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; } }
@Override protected OutputStream getOutputStreamForKeystore() throws IOException { FSDataOutputStream out = FileSystem.create(fs, getPath(), permissions); return out; }
protected AbstractJavaKeyStoreProvider(URI uri, Configuration conf) throws IOException { this.uri = uri; this.conf = conf; initFileSystem(uri); locateKeystore(); ReadWriteLock lock = new ReentrantReadWriteLock(true); readLock = lock.readLock(); writeLock = lock.writeLock(); }
protected void warnIfTransientProvider() { if (provider.isTransient()) { getOut().println("WARNING: you are modifying a transient provider."); } }
protected final String getPathAsString() { return getPath().toString(); }
@Override public CredentialProvider createProvider(URI providerName, Configuration conf) throws IOException { if (SCHEME_NAME.equals(providerName.getScheme())) { return new LocalJavaKeyStoreProvider(providerName, conf); } return null; } }
@Override public CredentialProvider createProvider(URI providerName, Configuration conf) throws IOException { if (SCHEME_NAME.equals(providerName.getScheme())) { return new JavaKeyStoreProvider(providerName, conf); } return null; } }
@Override protected void createPermissions(String perms) throws IOException { int mode = 700; try { mode = Integer.parseInt(perms, 8); } catch (NumberFormatException nfe) { throw new IOException("Invalid permissions mode provided while " + "trying to createPermissions", nfe); } permissions = modeToPosixFilePermission(mode); }
@Override public CredentialProvider createProvider(URI providerName, Configuration conf) throws IOException { if (SCHEME_NAME.equals(providerName.getScheme())) { return new UserProvider(); } return null; } }
protected void doHelp() { getOut().println(USAGE_PREFIX + COMMANDS); printShellUsage(); }
@Override protected InputStream getInputStreamForFile() throws IOException { return fs.open(getPath()); }
@Override protected boolean keystoreExists() throws IOException { return fs.exists(getPath()); }
@Override protected void stashOriginalFilePermissions() throws IOException { // save off permissions in case we need to // rewrite the keystore in flush() FileStatus s = fs.getFileStatus(getPath()); permissions = s.getPermission(); }