public class org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper extends java.lang.Object
{
private com.sun.enterprise.container.common.spi.util.InjectionManager injectionManager;
private com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo secInfo;
private final java.util.logging.Logger logger;
private java.lang.ClassLoader classLoader;
public void <init>()
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
java.lang.Class v;
java.lang.String v;
java.util.logging.Logger v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: java.util.logging.Logger logger> = v;
return;
}
void init(org.glassfish.appclient.client.acc.config.TargetServer[], java.util.List, java.util.Properties, org.glassfish.appclient.client.acc.config.ClientCredential, javax.security.auth.callback.CallbackHandler, java.lang.ClassLoader, com.sun.enterprise.deployment.ApplicationClientDescriptor, boolean) throws java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException, java.lang.ClassNotFoundException, java.io.IOException
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
javax.security.auth.callback.CallbackHandler v, v;
java.lang.Thread v;
java.lang.String v;
boolean v, v;
java.util.Properties v;
com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType v, v;
com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo v;
java.util.List v, v;
org.glassfish.appclient.client.acc.config.util.XML$Password v, v, v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
char[] v, v;
org.glassfish.appclient.client.acc.config.ClientCredential v;
java.lang.ClassLoader v, v;
org.glassfish.appclient.client.acc.config.TargetServer[] v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v := @parameter: org.glassfish.appclient.client.acc.config.TargetServer[];
v := @parameter: java.util.List;
v := @parameter: java.util.Properties;
v := @parameter: org.glassfish.appclient.client.acc.config.ClientCredential;
v := @parameter: javax.security.auth.callback.CallbackHandler;
v := @parameter: java.lang.ClassLoader;
v := @parameter: com.sun.enterprise.deployment.ApplicationClientDescriptor;
v := @parameter: boolean;
if v != null goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
goto label;
label:
v = v;
label:
v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: java.lang.ClassLoader classLoader> = v;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: void initLoginConfig()>();
v = specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: javax.security.auth.callback.CallbackHandler initSecurity(javax.security.auth.callback.CallbackHandler,com.sun.enterprise.deployment.ApplicationClientDescriptor)>(v, v);
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo secInfo>;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = <com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType USERNAME_PASSWORD>;
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<org.glassfish.appclient.client.acc.config.ClientCredential: java.lang.String getUserName()>();
label:
if v == null goto label;
v = virtualinvoke v.<org.glassfish.appclient.client.acc.config.ClientCredential: org.glassfish.appclient.client.acc.config.util.XML$Password getPassword()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.appclient.client.acc.config.ClientCredential: org.glassfish.appclient.client.acc.config.util.XML$Password getPassword()>();
v = virtualinvoke v.<org.glassfish.appclient.client.acc.config.util.XML$Password: char[] get()>();
if v != null goto label;
label:
v = null;
goto label;
label:
v = virtualinvoke v.<org.glassfish.appclient.client.acc.config.ClientCredential: org.glassfish.appclient.client.acc.config.util.XML$Password getPassword()>();
v = virtualinvoke v.<org.glassfish.appclient.client.acc.config.util.XML$Password: char[] get()>();
label:
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
interfaceinvoke v.<com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo: void initializeSecurity(java.util.List,java.util.List,javax.security.auth.callback.CallbackHandler,com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType,java.lang.String,char[],boolean,boolean)>(v, v, v, v, v, v, 0, v);
v = <com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType USERNAME_PASSWORD>;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: void initHttpAuthenticator(com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType)>(v);
return;
}
private void initLoginConfig() throws java.io.IOException
{
java.net.URL v;
java.io.File v, v, v;
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
java.lang.String v, v, v;
java.net.URI v, v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("appclient.login.conf.content");
if v != null goto label;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("com.sun.aas.installRoot");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.net.URI resolve(java.lang.String)>("lib/appclient/appclientlogin.conf");
goto label;
label:
v = staticinvoke <org.glassfish.appclient.client.acc.Util: java.io.File writeTextToTempFile(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, "appclientlogin", ".conf", 0);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.net.URI)>(v);
v = virtualinvoke v.<java.io.File: java.net.URL toURL()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("java.security.auth.login.config", v);
return;
}
private javax.security.auth.callback.CallbackHandler initSecurity(javax.security.auth.callback.CallbackHandler, com.sun.enterprise.deployment.ApplicationClientDescriptor) throws java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException, java.lang.ClassNotFoundException
{
java.util.logging.Logger v;
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
javax.security.auth.callback.CallbackHandler v, v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v, v, v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v := @parameter: javax.security.auth.callback.CallbackHandler;
v := @parameter: com.sun.enterprise.deployment.ApplicationClientDescriptor;
v = v;
if v != null goto label;
if v == null goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.ApplicationClientDescriptor: java.lang.String getCallbackHandler()>();
if v == null goto label;
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: java.lang.ClassLoader classLoader>;
v = specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: javax.security.auth.callback.CallbackHandler newCallbackHandlerInstance(java.lang.String,com.sun.enterprise.deployment.ApplicationClientDescriptor,java.lang.ClassLoader)>(v, v, v);
goto label;
label:
v = null;
label:
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: java.util.logging.Logger logger>;
if v != null goto label;
v = "(default)";
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
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[])>("Callback handler class = \u0001");
virtualinvoke v.<java.util.logging.Logger: void config(java.lang.String)>(v);
return v;
}
private javax.security.auth.callback.CallbackHandler newCallbackHandlerInstance(java.lang.String, com.sun.enterprise.deployment.ApplicationClientDescriptor, java.lang.ClassLoader) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
javax.security.auth.callback.CallbackHandler v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v := @parameter: java.lang.String;
v := @parameter: com.sun.enterprise.deployment.ApplicationClientDescriptor;
v := @parameter: java.lang.ClassLoader;
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>(v, 1, v);
v = specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: javax.security.auth.callback.CallbackHandler newCallbackHandlerInstance(java.lang.Class,com.sun.enterprise.deployment.ApplicationClientDescriptor)>(v, v);
return v;
}
private javax.security.auth.callback.CallbackHandler newCallbackHandlerInstance(java.lang.Class, com.sun.enterprise.deployment.ApplicationClientDescriptor) throws java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
com.sun.enterprise.container.common.spi.util.InjectionManager v;
java.lang.Class v;
java.lang.Object v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v := @parameter: java.lang.Class;
v := @parameter: com.sun.enterprise.deployment.ApplicationClientDescriptor;
v = virtualinvoke v.<java.lang.Class: java.lang.Object newInstance()>();
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: com.sun.enterprise.container.common.spi.util.InjectionManager injectionManager>;
interfaceinvoke v.<com.sun.enterprise.container.common.spi.util.InjectionManager: void injectInstance(java.lang.Object,com.sun.enterprise.deployment.JndiNameEnvironment)>(v, v);
return v;
}
void clearClientSecurityContext()
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo secInfo>;
interfaceinvoke v.<com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo: void clearClientSecurityContext()>();
return;
}
boolean isLoginCancelled()
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo v;
boolean v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo secInfo>;
v = interfaceinvoke v.<com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo: boolean isLoginCancelled()>();
return v;
}
private void initHttpAuthenticator(com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType)
{
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType v;
org.glassfish.appclient.client.acc.HttpAuthenticator v;
com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper;
v := @parameter: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType;
v = new org.glassfish.appclient.client.acc.HttpAuthenticator;
v = v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo secInfo>;
specialinvoke v.<org.glassfish.appclient.client.acc.HttpAuthenticator: void <init>(com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo,com.sun.enterprise.security.appclient.integration.AppClientSecurityInfo$CredentialType)>(v, v);
staticinvoke <java.net.Authenticator: void setDefault(java.net.Authenticator)>(v);
return;
}
}