public class org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer extends java.lang.Object implements javax.security.sasl.SaslServer
{
private static final org.slf4j.Logger log;
private static final java.util.Set SUPPORTED_EXTENSIONS;
private final org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism;
private final org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter;
private final javax.security.auth.callback.CallbackHandler callbackHandler;
private org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State state;
private java.lang.String username;
private org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage;
private org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage serverFirstMessage;
private org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions scramExtensions;
private org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential;
private java.lang.String authorizationId;
private java.lang.Long tokenExpiryTimestamp;
public void <init>(org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism, java.util.Map, javax.security.auth.callback.CallbackHandler) throws java.security.NoSuchAlgorithmException
{
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism v;
javax.security.auth.callback.CallbackHandler v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State v;
java.util.Map v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism;
v := @parameter: java.util.Map;
v := @parameter: javax.security.auth.callback.CallbackHandler;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism> = v;
v = new org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter: void <init>(org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism)>(v);
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter> = v;
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: javax.security.auth.callback.CallbackHandler callbackHandler> = v;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State RECEIVE_CLIENT_FIRST_MESSAGE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void setState(org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State)>(v);
return;
}
public byte[] evaluateResponse(byte[]) throws javax.security.sasl.SaslException, org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException
{
byte[] v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State v, v, v, v, v;
javax.security.sasl.SaslException v, v, v, v, v;
org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException v;
java.lang.Long v;
java.util.Map v, v;
java.util.Set v, v, v, v;
java.lang.Exception v, v;
java.security.InvalidKeyException v;
java.lang.Throwable v;
javax.security.auth.callback.Callback[] v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage v, v, v;
javax.security.auth.callback.NameCallback v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
org.apache.kafkaesqueesque.common.security.token.delegation.internals.DelegationTokenCredentialCallback v;
javax.security.auth.callback.CallbackHandler v, v;
int[] v;
boolean v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.ScramCredential v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFinalMessage v;
int v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage v;
org.apache.kafkaesqueesque.common.security.scram.ScramCredentialCallback v, v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: byte[];
label:
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$1: int[] $SwitchMap$org$apache$kafka$common$security$scram$internals$ScramSaslServer$State>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State state>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage: void <init>(byte[])>(v);
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage> = v;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage: org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions extensions()>();
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions scramExtensions> = v;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.util.Set SUPPORTED_EXTENSIONS>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions scramExtensions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions: java.util.Map map()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: boolean containsAll(java.util.Collection)>(v);
if v != 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.slf4j.Logger log>;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.util.Set SUPPORTED_EXTENSIONS>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions scramExtensions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions: java.util.Map map()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Unsupported extensions will be ignored, supported {}, provided {}", v, v);
label:
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter: java.lang.String secureRandomString()>();
label:
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage: java.lang.String saslName()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter: java.lang.String username(java.lang.String)>(v);
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String username> = v;
v = new javax.security.auth.callback.NameCallback;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String username>;
specialinvoke v.<javax.security.auth.callback.NameCallback: void <init>(java.lang.String,java.lang.String)>("username", v);
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions scramExtensions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions: boolean tokenAuthenticated()>();
if v == 0 goto label;
v = new org.apache.kafkaesqueesque.common.security.token.delegation.internals.DelegationTokenCredentialCallback;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.token.delegation.internals.DelegationTokenCredentialCallback: void <init>()>();
v = v;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: javax.security.auth.callback.CallbackHandler callbackHandler>;
v = newarray (javax.security.auth.callback.Callback)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<javax.security.auth.callback.CallbackHandler: void handle(javax.security.auth.callback.Callback[])>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.token.delegation.internals.DelegationTokenCredentialCallback: java.lang.String tokenOwner()>();
if v != null goto label;
v = new javax.security.sasl.SaslException;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String username>;
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[])>("Token Authentication failed: Invalid tokenId : \u0001");
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.token.delegation.internals.DelegationTokenCredentialCallback: java.lang.String tokenOwner()>();
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String authorizationId> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.token.delegation.internals.DelegationTokenCredentialCallback: java.lang.Long tokenExpiryTimestamp()>();
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.Long tokenExpiryTimestamp> = v;
goto label;
label:
v = new org.apache.kafkaesqueesque.common.security.scram.ScramCredentialCallback;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredentialCallback: void <init>()>();
v = v;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: javax.security.auth.callback.CallbackHandler callbackHandler>;
v = newarray (javax.security.auth.callback.Callback)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<javax.security.auth.callback.CallbackHandler: void handle(javax.security.auth.callback.Callback[])>(v);
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String username>;
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String authorizationId> = v;
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.Long tokenExpiryTimestamp> = null;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredentialCallback: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential()>();
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential> = v;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
if v != null goto label;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>("Authentication failed: Invalid user credentials");
throw v;
label:
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage: java.lang.String authorizationId()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String username>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException: void <init>(java.lang.String)>("Authentication failed: Client requested an authorization id that is different from username");
throw v;
label:
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredential: int iterations()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism: int minIterations()>();
if v >= v goto label;
v = new javax.security.sasl.SaslException;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredential: int iterations()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism: int minIterations()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism)>(v, 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[])>("Iterations \u is less than the minimum \u for \u0001");
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage: java.lang.String nonce()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredential: byte[] salt()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredential: int iterations()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage: void <init>(java.lang.String,java.lang.String,byte[],int)>(v, v, v, v);
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage serverFirstMessage> = v;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State RECEIVE_CLIENT_FINAL_MESSAGE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void setState(org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage serverFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage: byte[] toBytes()>();
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>("Authentication failed: Credentials could not be obtained", v);
throw v;
label:
v = new org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage: void <init>(byte[])>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void verifyClientProof(org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredential: byte[] serverKey()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage serverFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter: byte[] serverSignature(byte[],org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage,org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage,org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage)>(v, v, v, v);
v = new org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFinalMessage;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFinalMessage: void <init>(java.lang.String,byte[])>(null, v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void clearCredentials()>();
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State COMPLETE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void setState(org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFinalMessage: byte[] toBytes()>();
label:
return v;
label:
v := @caughtexception;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>("Authentication failed: Invalid client final message", v);
throw v;
label:
v = new org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State state>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State)>(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[])>("Unexpected challenge in Sasl server state \u0001");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void clearCredentials()>();
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State FAILED>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: void setState(org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State)>(v);
throw v;
catch javax.security.sasl.SaslException from label to label with label;
catch org.apache.kafkaesqueesque.common.errors.AuthenticationException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.security.InvalidKeyException from label to label with label;
catch javax.security.sasl.SaslException from label to label with label;
catch org.apache.kafkaesqueesque.common.errors.AuthenticationException from label to label with label;
catch javax.security.sasl.SaslException from label to label with label;
catch org.apache.kafkaesqueesque.common.errors.AuthenticationException from label to label with label;
}
public java.lang.String getAuthorizationID()
{
java.lang.IllegalStateException v;
java.lang.String v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.String authorizationId>;
return v;
}
public java.lang.String getMechanismName()
{
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism v;
java.lang.String v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism: java.lang.String mechanismName()>();
return v;
}
public java.lang.Object getNegotiatedProperty(java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions v;
java.util.Set v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
java.lang.Long v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v, v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
v = "CREDENTIAL.LIFETIME.MS";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.lang.Long tokenExpiryTimestamp>;
return v;
label:
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.util.Set SUPPORTED_EXTENSIONS>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions scramExtensions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramExtensions: java.util.Map map()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
label:
return null;
}
public boolean isComplete()
{
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State state>;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State COMPLETE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public byte[] unwrap(byte[], int, int)
{
byte[] v, v;
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
int v, v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
v = v + v;
v = staticinvoke <java.util.Arrays: byte[] copyOfRange(byte[],int,int)>(v, v, v);
return v;
}
public byte[] wrap(byte[], int, int)
{
byte[] v, v;
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
int v, v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
v = v + v;
v = staticinvoke <java.util.Arrays: byte[] copyOfRange(byte[],int,int)>(v, v, v);
return v;
}
public void dispose()
{
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
return;
}
private void setState(org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State)
{
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State;
v = <org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism mechanism>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Setting SASL/{} server state to {}", v, v);
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer$State state> = v;
return;
}
private void verifyClientProof(org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage) throws javax.security.sasl.SaslException
{
byte[] v, v, v, v;
org.apache.kafkaesqueesque.common.security.scram.ScramCredential v;
javax.security.sasl.SaslException v, v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage v;
java.security.InvalidKeyException v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage v;
org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v := @parameter: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage;
label:
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.ScramCredential: byte[] storedKey()>();
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage>;
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage serverFirstMessage>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter: byte[] clientSignature(byte[],org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage,org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage,org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage)>(v, v, v, v);
v = v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter formatter>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFinalMessage: byte[] proof()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramFormatter: byte[] storedKey(byte[],byte[])>(v, v);
v = staticinvoke <java.util.Arrays: boolean equals(byte[],byte[])>(v, v);
if v != 0 goto label;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>("Invalid client credentials");
throw v;
label:
v := @caughtexception;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>("Sasl client verification failed", v);
throw v;
label:
return;
catch java.security.InvalidKeyException from label to label with label;
}
private void clearCredentials()
{
org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer v;
v := @this: org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer;
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.ScramCredential scramCredential> = null;
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ClientFirstMessage clientFirstMessage> = null;
v.<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.apache.kafkaesqueesque.common.security.scram.internals.ScramMessages$ServerFirstMessage serverFirstMessage> = null;
return;
}
static void <clinit>()
{
java.util.Set v;
java.lang.String[] v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/kafkaesqueesque/common/security/scram/internals/ScramSaslServer;");
<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: org.slf4j.Logger log> = v;
v = newarray (java.lang.String)[1];
v[0] = "tokenauth";
v = staticinvoke <org.apache.kafkaesqueesque.common.utils.Utils: java.util.Set mkSet(java.lang.Object[])>(v);
<org.apache.kafkaesqueesque.common.security.scram.internals.ScramSaslServer: java.util.Set SUPPORTED_EXTENSIONS> = v;
return;
}
}