public class org.apache.http.impl.auth.DigestScheme extends org.apache.http.impl.auth.RFC2617Scheme
{
private static final long serialVersionUID;
private static final char[] HEXADECIMAL;
private boolean complete;
private static final int QOP_UNKNOWN;
private static final int QOP_MISSING;
private static final int QOP_AUTH_INT;
private static final int QOP_AUTH;
private java.lang.String lastNonce;
private long nounceCount;
private java.lang.String cnonce;
private java.lang.String a;
private java.lang.String a;
public void <init>(java.nio.charset.Charset)
{
org.apache.http.impl.auth.DigestScheme v;
java.nio.charset.Charset v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: java.nio.charset.Charset;
specialinvoke v.<org.apache.http.impl.auth.RFC2617Scheme: void <init>(java.nio.charset.Charset)>(v);
v.<org.apache.http.impl.auth.DigestScheme: boolean complete> = 0;
return;
}
public void <init>(org.apache.http.auth.ChallengeState)
{
org.apache.http.impl.auth.DigestScheme v;
org.apache.http.auth.ChallengeState v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: org.apache.http.auth.ChallengeState;
specialinvoke v.<org.apache.http.impl.auth.RFC2617Scheme: void <init>(org.apache.http.auth.ChallengeState)>(v);
return;
}
public void <init>()
{
org.apache.http.impl.auth.DigestScheme v;
java.nio.charset.Charset v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v = <org.apache.http.Consts: java.nio.charset.Charset ASCII>;
specialinvoke v.<org.apache.http.impl.auth.DigestScheme: void <init>(java.nio.charset.Charset)>(v);
return;
}
public void processChallenge(org.apache.http.Header) throws org.apache.http.auth.MalformedChallengeException
{
java.util.Map v;
org.apache.http.impl.auth.DigestScheme v;
org.apache.http.Header v;
org.apache.http.auth.MalformedChallengeException v;
boolean v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: org.apache.http.Header;
specialinvoke v.<org.apache.http.impl.auth.RFC2617Scheme: void processChallenge(org.apache.http.Header)>(v);
v.<org.apache.http.impl.auth.DigestScheme: boolean complete> = 1;
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.util.Map getParameters()>();
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
v = new org.apache.http.auth.MalformedChallengeException;
specialinvoke v.<org.apache.http.auth.MalformedChallengeException: void <init>(java.lang.String)>("Authentication challenge is empty");
throw v;
label:
return;
}
public boolean isComplete()
{
org.apache.http.impl.auth.DigestScheme v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("stale");
v = "true";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = 0;
goto label;
label:
v = v.<org.apache.http.impl.auth.DigestScheme: boolean complete>;
label:
return v;
}
public java.lang.String getSchemeName()
{
org.apache.http.impl.auth.DigestScheme v;
v := @this: org.apache.http.impl.auth.DigestScheme;
return "digest";
}
public boolean isConnectionBased()
{
org.apache.http.impl.auth.DigestScheme v;
v := @this: org.apache.http.impl.auth.DigestScheme;
return 0;
}
public void overrideParamter(java.lang.String, java.lang.String)
{
java.util.Map v;
org.apache.http.impl.auth.DigestScheme v;
java.lang.String v, v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.util.Map getParameters()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException
{
org.apache.http.protocol.BasicHttpContext v;
org.apache.http.auth.Credentials v;
org.apache.http.impl.auth.DigestScheme v;
org.apache.http.Header v;
org.apache.http.HttpRequest v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: org.apache.http.auth.Credentials;
v := @parameter: org.apache.http.HttpRequest;
v = new org.apache.http.protocol.BasicHttpContext;
specialinvoke v.<org.apache.http.protocol.BasicHttpContext: void <init>()>();
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: org.apache.http.Header authenticate(org.apache.http.auth.Credentials,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)>(v, v, v);
return v;
}
public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.AuthenticationException
{
org.apache.http.Header v;
org.apache.http.RequestLine v, v;
org.apache.http.auth.Credentials v;
java.util.Map v, v, v;
java.lang.String v, v, v, v, v, v;
org.apache.http.HttpRequest v;
org.apache.http.protocol.HttpContext v;
org.apache.http.impl.auth.DigestScheme v;
org.apache.http.auth.AuthenticationException v, v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: org.apache.http.auth.Credentials;
v := @parameter: org.apache.http.HttpRequest;
v := @parameter: org.apache.http.protocol.HttpContext;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Credentials");
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP request");
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("realm");
if v != null goto label;
v = new org.apache.http.auth.AuthenticationException;
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>("missing realm in challenge");
throw v;
label:
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("nonce");
if v != null goto label;
v = new org.apache.http.auth.AuthenticationException;
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>("missing nonce in challenge");
throw v;
label:
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.util.Map getParameters()>();
v = interfaceinvoke v.<org.apache.http.HttpRequest: org.apache.http.RequestLine getRequestLine()>();
v = interfaceinvoke v.<org.apache.http.RequestLine: java.lang.String getMethod()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("methodname", v);
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.util.Map getParameters()>();
v = interfaceinvoke v.<org.apache.http.HttpRequest: org.apache.http.RequestLine getRequestLine()>();
v = interfaceinvoke v.<org.apache.http.RequestLine: java.lang.String getUri()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("uri", v);
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("charset");
if v != null goto label;
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.util.Map getParameters()>();
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getCredentialsCharset(org.apache.http.HttpRequest)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("charset", v);
label:
v = specialinvoke v.<org.apache.http.impl.auth.DigestScheme: org.apache.http.Header createDigestHeader(org.apache.http.auth.Credentials,org.apache.http.HttpRequest)>(v, v);
return v;
}
private static java.security.MessageDigest createMessageDigest(java.lang.String) throws org.apache.http.impl.auth.UnsupportedDigestAlgorithmException
{
java.security.MessageDigest v;
org.apache.http.impl.auth.UnsupportedDigestAlgorithmException v;
java.lang.String v, v;
java.lang.Exception v;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.security.MessageDigest: java.security.MessageDigest getInstance(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.http.impl.auth.UnsupportedDigestAlgorithmException;
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[])>("Unsupported algorithm in HTTP Digest authentication: \u0001");
specialinvoke v.<org.apache.http.impl.auth.UnsupportedDigestAlgorithmException: void <init>(java.lang.String)>(v);
throw v;
catch java.lang.Exception from label to label with label;
}
private org.apache.http.Header createDigestHeader(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException
{
byte[] v, v, v, v, v, v, v, v, v;
org.apache.http.impl.auth.HttpEntityDigester v;
byte v;
java.lang.Long v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v;
org.apache.http.impl.auth.UnsupportedDigestAlgorithmException v;
long v, v, v;
java.util.StringTokenizer v;
org.apache.http.auth.Credentials v;
java.io.IOException v;
java.util.Locale v, v;
org.apache.http.HttpEntity v;
java.security.MessageDigest v;
java.util.HashSet v;
int v, v, v;
java.lang.Object v;
org.apache.http.HttpRequest v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.http.message.BasicHeaderValueFormatter v;
java.util.Formatter v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.http.message.BufferedHeader v;
java.security.Principal v;
org.apache.http.impl.auth.DigestScheme v;
org.apache.http.auth.AuthenticationException v, v, v, v;
org.apache.http.message.BasicNameValuePair v, v, v, v, v, v, v, v, v, v;
org.apache.http.util.CharArrayBuffer v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v := @parameter: org.apache.http.auth.Credentials;
v := @parameter: org.apache.http.HttpRequest;
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("uri");
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("realm");
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("nonce");
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("opaque");
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("methodname");
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("algorithm");
if v != null goto label;
v = "MD5";
label:
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>(int)>(8);
v = -1;
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("qop");
if v == null goto label;
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, ",");
label:
v = virtualinvoke v.<java.util.StringTokenizer: boolean hasMoreTokens()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = <java.util.Locale: java.util.Locale ROOT>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.apache.http.HttpEntityEnclosingRequest;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>("auth-int");
if v == 0 goto label;
v = 1;
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>("auth");
if v == 0 goto label;
v = 2;
goto label;
label:
v = 0;
label:
v = (int) -1;
if v != v goto label;
v = new org.apache.http.auth.AuthenticationException;
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[])>("None of the qop methods is supported: \u0001");
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: java.lang.String getParameter(java.lang.String)>("charset");
if v != null goto label;
v = "ISO-8859-1";
label:
v = v;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("MD5-sess");
if v == 0 goto label;
v = "MD5";
label:
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.security.MessageDigest createMessageDigest(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.http.auth.AuthenticationException;
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[])>("Unsuppported digest algorithm: \u0001");
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.http.auth.Credentials: java.security.Principal getUserPrincipal()>();
v = interfaceinvoke v.<java.security.Principal: java.lang.String getName()>();
v = interfaceinvoke v.<org.apache.http.auth.Credentials: java.lang.String getPassword()>();
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String lastNonce>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.http.impl.auth.DigestScheme: long nounceCount>;
v = v + 1L;
v.<org.apache.http.impl.auth.DigestScheme: long nounceCount> = v;
goto label;
label:
v.<org.apache.http.impl.auth.DigestScheme: long nounceCount> = 1L;
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce> = null;
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String lastNonce> = v;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(256);
v = new java.util.Formatter;
v = <java.util.Locale: java.util.Locale US>;
specialinvoke v.<java.util.Formatter: void <init>(java.lang.Appendable,java.util.Locale)>(v, v);
v = newarray (java.lang.Object)[1];
v = v.<org.apache.http.impl.auth.DigestScheme: long nounceCount>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
virtualinvoke v.<java.util.Formatter: java.util.Formatter format(java.lang.String,java.lang.Object[])>("%08x", v);
virtualinvoke v.<java.util.Formatter: void close()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce>;
if v != null goto label;
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String createCnonce()>();
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce> = v;
label:
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a1> = null;
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2> = null;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("MD5-sess");
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = staticinvoke <org.apache.http.util.EncodingUtils: byte[] getBytes(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest(byte[])>(v);
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String encode(byte[])>(v);
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a1> = v;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a1> = v;
label:
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a1>;
v = staticinvoke <org.apache.http.util.EncodingUtils: byte[] getBytes(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest(byte[])>(v);
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String encode(byte[])>(v);
if v != 2 goto label;
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[])>("\u0001:\u0001");
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2> = v;
goto label;
label:
if v != 1 goto label;
v = null;
v = v instanceof org.apache.http.HttpEntityEnclosingRequest;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.http.HttpEntityEnclosingRequest: org.apache.http.HttpEntity getEntity()>();
label:
if v == null goto label;
v = interfaceinvoke v.<org.apache.http.HttpEntity: boolean isRepeatable()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>("auth");
if v == 0 goto label;
v = 2;
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[])>("\u0001:\u0001");
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2> = v;
goto label;
label:
v = new org.apache.http.auth.AuthenticationException;
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>("Qop auth-int cannot be used with a non-repeatable entity");
throw v;
label:
v = new org.apache.http.impl.auth.HttpEntityDigester;
specialinvoke v.<org.apache.http.impl.auth.HttpEntityDigester: void <init>(java.security.MessageDigest)>(v);
label:
if v == null goto label;
interfaceinvoke v.<org.apache.http.HttpEntity: void writeTo(java.io.OutputStream)>(v);
label:
virtualinvoke v.<org.apache.http.impl.auth.HttpEntityDigester: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.http.auth.AuthenticationException;
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String,java.lang.Throwable)>("I/O error reading entity content", v);
throw v;
label:
v = virtualinvoke v.<org.apache.http.impl.auth.HttpEntityDigester: byte[] getDigest()>();
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String encode(byte[])>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("\u0001:\u0001:\u0001");
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2> = v;
goto label;
label:
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[])>("\u0001:\u0001");
v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2> = v;
label:
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2>;
v = staticinvoke <org.apache.http.util.EncodingUtils: byte[] getBytes(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest(byte[])>(v);
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String encode(byte[])>(v);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
if v != 1 goto label;
v = "auth-int";
goto label;
label:
v = "auth";
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
v = staticinvoke <org.apache.http.util.EncodingUtils: byte[] getAsciiBytes(java.lang.String)>(v);
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest(byte[])>(v);
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String encode(byte[])>(v);
v = new org.apache.http.util.CharArrayBuffer;
specialinvoke v.<org.apache.http.util.CharArrayBuffer: void <init>(int)>(128);
v = virtualinvoke v.<org.apache.http.impl.auth.DigestScheme: boolean isProxy()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>("Proxy-Authorization");
goto label;
label:
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>("Authorization");
label:
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>(": Digest ");
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(20);
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("username", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("realm", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("nonce", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("uri", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("response", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.apache.http.message.BasicNameValuePair;
if v != 1 goto label;
v = "auth-int";
goto label;
label:
v = "auth";
label:
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("qop", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("nc", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.message.BasicNameValuePair;
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce>;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("cnonce", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("algorithm", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
if v == null goto label;
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("opaque", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
if v <= 0 goto label;
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>(", ");
label:
v = virtualinvoke v.<org.apache.http.message.BasicNameValuePair: java.lang.String getName()>();
v = "nc";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "qop";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "algorithm";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = <org.apache.http.message.BasicHeaderValueFormatter: org.apache.http.message.BasicHeaderValueFormatter INSTANCE>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<org.apache.http.message.BasicHeaderValueFormatter: org.apache.http.util.CharArrayBuffer formatNameValuePair(org.apache.http.util.CharArrayBuffer,org.apache.http.NameValuePair,boolean)>(v, v, v);
v = v + 1;
goto label;
label:
v = new org.apache.http.message.BufferedHeader;
specialinvoke v.<org.apache.http.message.BufferedHeader: void <init>(org.apache.http.util.CharArrayBuffer)>(v);
return v;
catch org.apache.http.impl.auth.UnsupportedDigestAlgorithmException from label to label with label;
catch java.io.IOException from label to label with label;
}
java.lang.String getCnonce()
{
org.apache.http.impl.auth.DigestScheme v;
java.lang.String v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String cnonce>;
return v;
}
java.lang.String getA1()
{
org.apache.http.impl.auth.DigestScheme v;
java.lang.String v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a1>;
return v;
}
java.lang.String getA2()
{
org.apache.http.impl.auth.DigestScheme v;
java.lang.String v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String a2>;
return v;
}
static java.lang.String encode(byte[])
{
byte[] v;
short v;
byte v, v, v;
int v, v, v, v, v, v, v;
java.lang.String v;
char v, v;
char[] v, v, v;
v := @parameter: byte[];
v = lengthof v;
v = v * 2;
v = newarray (char)[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v & 15;
v = v[v];
v = v & 240;
v = v >> 4;
v = v * 2;
v = <org.apache.http.impl.auth.DigestScheme: char[] HEXADECIMAL>;
v = v[v];
v[v] = v;
v = v * 2;
v = v + 1;
v = <org.apache.http.impl.auth.DigestScheme: char[] HEXADECIMAL>;
v = v[v];
v[v] = v;
v = v + 1;
goto label;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
return v;
}
public static java.lang.String createCnonce()
{
java.security.SecureRandom v;
byte[] v;
java.lang.String v;
v = new java.security.SecureRandom;
specialinvoke v.<java.security.SecureRandom: void <init>()>();
v = newarray (byte)[8];
virtualinvoke v.<java.security.SecureRandom: void nextBytes(byte[])>(v);
v = staticinvoke <org.apache.http.impl.auth.DigestScheme: java.lang.String encode(byte[])>(v);
return v;
}
public java.lang.String toString()
{
long v;
org.apache.http.impl.auth.DigestScheme v;
java.lang.StringBuilder v, v, v, v, v, v, v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.http.impl.auth.DigestScheme;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("DIGEST [complete=");
v = v.<org.apache.http.impl.auth.DigestScheme: boolean complete>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(boolean)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", nonce=");
v = v.<org.apache.http.impl.auth.DigestScheme: java.lang.String lastNonce>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", nc=");
v = v.<org.apache.http.impl.auth.DigestScheme: long nounceCount>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void <clinit>()
{
char[] v;
v = newarray (char)[16];
v[0] = 48;
v[1] = 49;
v[2] = 50;
v[3] = 51;
v[4] = 52;
v[5] = 53;
v[6] = 54;
v[7] = 55;
v[8] = 56;
v[9] = 57;
v[10] = 97;
v[11] = 98;
v[12] = 99;
v[13] = 100;
v[14] = 101;
v[15] = 102;
<org.apache.http.impl.auth.DigestScheme: char[] HEXADECIMAL> = v;
return;
}
}