public abstract class oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider extends oadd.org.apache.hadoop.security.alias.CredentialProvider
{
public static final org.slf4j.Logger LOG;
public static final java.lang.String CREDENTIAL_PASSWORD_ENV_VAR;
public static final java.lang.String CREDENTIAL_PASSWORD_FILE_KEY;
public static final java.lang.String CREDENTIAL_PASSWORD_DEFAULT;
private oadd.org.apache.hadoop.fs.Path path;
private final java.net.URI uri;
private java.security.KeyStore keyStore;
private char[] password;
private boolean changed;
private java.util.concurrent.locks.Lock readLock;
private java.util.concurrent.locks.Lock writeLock;
private final oadd.org.apache.hadoop.conf.Configuration conf;
protected void <init>(java.net.URI, oadd.org.apache.hadoop.conf.Configuration) throws java.io.IOException
{
java.util.concurrent.locks.Lock v, v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
oadd.org.apache.hadoop.conf.Configuration v;
java.net.URI v;
java.util.concurrent.locks.ReentrantReadWriteLock v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.net.URI;
v := @parameter: oadd.org.apache.hadoop.conf.Configuration;
specialinvoke v.<oadd.org.apache.hadoop.security.alias.CredentialProvider: void <init>()>();
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password> = null;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed> = 0;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.net.URI uri> = v;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.conf.Configuration conf> = v;
virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: void initFileSystem(java.net.URI)>(v);
specialinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: void locateKeystore()>();
v = new java.util.concurrent.locks.ReentrantReadWriteLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: void <init>(boolean)>(1);
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock readLock()>();
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock> = v;
v = interfaceinvoke v.<java.util.concurrent.locks.ReadWriteLock: java.util.concurrent.locks.Lock writeLock()>();
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock> = v;
return;
}
protected oadd.org.apache.hadoop.conf.Configuration getConf()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
oadd.org.apache.hadoop.conf.Configuration v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.conf.Configuration conf>;
return v;
}
public oadd.org.apache.hadoop.fs.Path getPath()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
oadd.org.apache.hadoop.fs.Path v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.fs.Path path>;
return v;
}
public void setPath(oadd.org.apache.hadoop.fs.Path)
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
oadd.org.apache.hadoop.fs.Path v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: oadd.org.apache.hadoop.fs.Path;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.fs.Path path> = v;
return;
}
public char[] getPassword()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
char[] v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
return v;
}
public void setPassword(char[])
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
char[] v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: char[];
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password> = v;
return;
}
public boolean isChanged()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
boolean v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed>;
return v;
}
public void setChanged(boolean)
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
boolean v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: boolean;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed> = v;
return;
}
public java.util.concurrent.locks.Lock getReadLock()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.util.concurrent.locks.Lock v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
return v;
}
public void setReadLock(java.util.concurrent.locks.Lock)
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.util.concurrent.locks.Lock v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.util.concurrent.locks.Lock;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock> = v;
return;
}
public java.util.concurrent.locks.Lock getWriteLock()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.util.concurrent.locks.Lock v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
return v;
}
public void setWriteLock(java.util.concurrent.locks.Lock)
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.util.concurrent.locks.Lock v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.util.concurrent.locks.Lock;
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock> = v;
return;
}
public java.net.URI getUri()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.net.URI v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.net.URI uri>;
return v;
}
public java.security.KeyStore getKeyStore()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.security.KeyStore v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
return v;
}
protected final java.lang.String getPathAsString()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.lang.String v;
oadd.org.apache.hadoop.fs.Path v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.fs.Path getPath()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.Path: java.lang.String toString()>();
return v;
}
protected abstract java.lang.String getSchemeName();
protected abstract java.io.OutputStream getOutputStreamForKeystore() throws java.io.IOException;
protected abstract boolean keystoreExists() throws java.io.IOException;
protected abstract java.io.InputStream getInputStreamForFile() throws java.io.IOException;
protected abstract void createPermissions(java.lang.String) throws java.io.IOException;
protected abstract void stashOriginalFilePermissions() throws java.io.IOException;
protected void initFileSystem(java.net.URI) throws java.io.IOException
{
org.slf4j.Logger v, v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.lang.String v;
java.net.URI v;
oadd.org.apache.hadoop.fs.Path v, v;
boolean v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.net.URI;
v = staticinvoke <oadd.org.apache.hadoop.security.ProviderUtils: oadd.org.apache.hadoop.fs.Path unnestUri(java.net.URI)>(v);
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.fs.Path path> = v;
v = <oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.fs.Path path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.fs.Path)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("backing jks path initialized to \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
return;
}
public oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry getCredentialEntry(java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
byte[] v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.security.KeyStoreException v;
java.security.UnrecoverableKeyException v;
java.lang.String v, v, v, v, v, v, v;
boolean v;
java.io.IOException v, v, v;
java.security.KeyStore v, v;
java.security.Key v;
java.util.concurrent.locks.Lock v, v, v, v;
java.security.NoSuchAlgorithmException v;
char[] v, v;
oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.lang.String;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = virtualinvoke v.<java.security.KeyStore: boolean containsAlias(java.lang.String)>(v);
if v != 0 goto label;
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return null;
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
v = virtualinvoke v.<java.security.KeyStore: java.security.Key getKey(java.lang.String,char[])>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.lang.String getPathAsString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t get credential \u from \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.lang.String getPathAsString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t get algorithm for credential \u from \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.lang.String getPathAsString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t recover credential \u from \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = new oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry;
v = virtualinvoke v.<javax.crypto.spec.SecretKeySpec: byte[] getEncoded()>();
v = staticinvoke <oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] bytesToChars(byte[])>(v);
specialinvoke v.<oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry: void <init>(java.lang.String,char[])>(v, v);
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
catch java.security.KeyStoreException from label to label with label;
catch java.security.KeyStoreException from label to label with label;
catch java.security.NoSuchAlgorithmException from label to label with label;
catch java.security.NoSuchAlgorithmException from label to label with label;
catch java.security.UnrecoverableKeyException from label to label with label;
catch java.security.UnrecoverableKeyException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static char[] bytesToChars(byte[]) throws java.io.IOException
{
byte[] v;
java.nio.charset.Charset v;
char[] v;
java.lang.String v;
v := @parameter: byte[];
v = new java.lang.String;
v = <oadd.com.google.common.base.Charsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],java.nio.charset.Charset)>(v, v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
return v;
}
public java.util.List getAliases() throws java.io.IOException
{
java.lang.Throwable v;
java.util.Enumeration v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.io.IOException v;
java.security.KeyStore v;
java.security.KeyStoreException v;
java.util.ArrayList v;
java.util.concurrent.locks.Lock v, v, v;
java.lang.Object v;
java.lang.String v, v;
boolean v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = virtualinvoke v.<java.security.KeyStore: java.util.Enumeration aliases()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.lang.String getPathAsString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t get alias \u from \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock readLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
catch java.security.KeyStoreException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry createCredentialEntry(java.lang.String, char[]) throws java.io.IOException
{
java.lang.Throwable v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.io.IOException v, v;
java.security.KeyStore v;
java.security.KeyStoreException v;
java.util.concurrent.locks.Lock v, v, v;
char[] v;
java.lang.String v, v, v;
boolean v;
oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.lang.String;
v := @parameter: char[];
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = virtualinvoke v.<java.security.KeyStore: boolean containsAlias(java.lang.String)>(v);
if v == 0 goto label;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Credential \u already exists in \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry innerSetCredential(java.lang.String,char[])>(v, v);
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Problem looking up credential \u in \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
catch java.security.KeyStoreException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void deleteCredentialEntry(java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.io.IOException v, v;
java.security.KeyStore v, v;
java.security.KeyStoreException v;
java.util.concurrent.locks.Lock v, v, v;
java.lang.String v, v, v;
boolean v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.lang.String;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = virtualinvoke v.<java.security.KeyStore: boolean containsAlias(java.lang.String)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
virtualinvoke v.<java.security.KeyStore: void deleteEntry(java.lang.String)>(v);
goto label;
label:
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Credential \u does not exist in \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Problem removing \u from \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed> = 1;
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.security.KeyStoreException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry innerSetCredential(java.lang.String, char[]) throws java.io.IOException
{
java.lang.Throwable v;
byte[] v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
javax.crypto.spec.SecretKeySpec v;
java.security.KeyStoreException v;
java.lang.String v, v, v;
java.io.IOException v;
java.security.KeyStore v;
java.util.concurrent.locks.Lock v, v, v;
char[] v, v;
oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v := @parameter: java.lang.String;
v := @parameter: char[];
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = new javax.crypto.spec.SecretKeySpec;
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.lang.String)>("UTF-8");
specialinvoke v.<javax.crypto.spec.SecretKeySpec: void <init>(byte[],java.lang.String)>(v, "AES");
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
virtualinvoke v.<java.security.KeyStore: void setKeyEntry(java.lang.String,java.security.Key,char[],java.security.cert.Certificate[])>(v, v, v, null);
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t store credential \u in \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed> = 1;
v = new oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry;
specialinvoke v.<oadd.org.apache.hadoop.security.alias.CredentialProvider$CredentialEntry: void <init>(java.lang.String,char[])>(v, v);
return v;
catch java.security.KeyStoreException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void flush() throws java.io.IOException
{
java.lang.Throwable v, v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.security.KeyStoreException v;
java.lang.String v, v, v;
boolean v;
java.io.OutputStream v;
org.slf4j.Logger v, v;
java.io.IOException v, v, v;
java.security.KeyStore v;
java.security.cert.CertificateException v;
java.util.concurrent.locks.Lock v, v, v, v;
java.security.NoSuchAlgorithmException v;
char[] v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed>;
if v != 0 goto label;
v = <oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Keystore hasn\'t changed, returning.");
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return;
label:
v = <oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Writing out keystore.");
label:
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.io.OutputStream getOutputStreamForKeystore()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore>;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
virtualinvoke v.<java.security.KeyStore: void store(java.io.OutputStream,char[])>(v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.OutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t store keystore \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No such algorithm storing keystore \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Certificate exception storing keystore \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean changed> = 0;
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.util.concurrent.locks.Lock writeLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.security.KeyStoreException from label to label with label;
catch java.security.NoSuchAlgorithmException from label to label with label;
catch java.security.cert.CertificateException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void locateKeystore() throws java.io.IOException
{
java.lang.Throwable v;
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.security.KeyStoreException v;
java.security.GeneralSecurityException v;
oadd.org.apache.hadoop.conf.Configuration v;
java.lang.String v, v, v, v;
boolean v;
java.io.IOException v, v;
java.security.KeyStore v;
char[] v, v, v, v, v;
java.io.InputStream v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.conf.Configuration conf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("hadoop.security.credstore.java-keystore-provider.password-file");
v = staticinvoke <oadd.org.apache.hadoop.security.ProviderUtils: char[] locatePassword(java.lang.String,java.lang.String)>("HADOOP_CREDSTORE_PASSWORD", v);
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password> = v;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
if v != null goto label;
v = "none";
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password> = v;
label:
v = staticinvoke <java.security.KeyStore: java.security.KeyStore getInstance(java.lang.String)>("jceks");
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: boolean keystoreExists()>();
if v == 0 goto label;
virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: void stashOriginalFilePermissions()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.io.InputStream getInputStreamForFile()>();
label:
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
virtualinvoke v.<java.security.KeyStore: void load(java.io.InputStream,char[])>(v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: void createPermissions(java.lang.String)>("600");
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: char[] password>;
virtualinvoke v.<java.security.KeyStore: void load(java.io.InputStream,char[])>(null, v);
label:
v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.security.KeyStore keyStore> = v;
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>("Can\'t create keystore", v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = virtualinvoke v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.lang.String getPathAsString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t load keystore \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.security.KeyStoreException from label to label with label;
catch java.security.GeneralSecurityException from label to label with label;
}
public boolean needsPassword() throws java.io.IOException
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
char[] v;
oadd.org.apache.hadoop.conf.Configuration v;
java.lang.String v;
boolean v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: oadd.org.apache.hadoop.conf.Configuration conf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("hadoop.security.credstore.java-keystore-provider.password-file");
v = staticinvoke <oadd.org.apache.hadoop.security.ProviderUtils: char[] locatePassword(java.lang.String,java.lang.String)>("HADOOP_CREDSTORE_PASSWORD", v);
if null != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String noPasswordWarning()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.lang.String v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = staticinvoke <oadd.org.apache.hadoop.security.ProviderUtils: java.lang.String noPasswordWarning(java.lang.String,java.lang.String)>("HADOOP_CREDSTORE_PASSWORD", "hadoop.security.credstore.java-keystore-provider.password-file");
return v;
}
public java.lang.String noPasswordError()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.lang.String v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = staticinvoke <oadd.org.apache.hadoop.security.ProviderUtils: java.lang.String noPasswordError(java.lang.String,java.lang.String)>("HADOOP_CREDSTORE_PASSWORD", "hadoop.security.credstore.java-keystore-provider.password-file");
return v;
}
public java.lang.String toString()
{
oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider v;
java.lang.String v;
java.net.URI v;
v := @this: oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider;
v = v.<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: java.net.URI uri>;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/hadoop/security/alias/AbstractJavaKeyStoreProvider;");
<oadd.org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider: org.slf4j.Logger LOG> = v;
return;
}
}