public class org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials
super_class: java.lang.Object
{
private static final java.lang.String METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "basic "
private final java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean trimCredentials;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.tomcat.util.buf.ByteChunk authorization;
descriptor: Lorg/apache/tomcat/util/buf/ByteChunk;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int initialOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int base64blobOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int base64blobLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String password;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.tomcat.util.buf.ByteChunk, java.nio.charset.Charset, boolean);
descriptor: (Lorg/apache/tomcat/util/buf/ByteChunk;Ljava/nio/charset/Charset;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
2: aload 0
aconst_null
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.password:Ljava/lang/String;
3: aload 0
aload 1
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.authorization:Lorg/apache/tomcat/util/buf/ByteChunk;
4: aload 0
aload 1
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getOffset:()I
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.initialOffset:I
5: aload 0
aload 2
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.charset:Ljava/nio/charset/Charset;
6: aload 0
iload 3
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.trimCredentials:Z
7: aload 0
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.parseMethod:()V
8: aload 0
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.parseBase64:()[B
astore 4
start local 4 9: aload 0
aload 4
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.parseCredentials:([B)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
0 11 1 input Lorg/apache/tomcat/util/buf/ByteChunk;
0 11 2 charset Ljava/nio/charset/Charset;
0 11 3 trimCredentials Z
9 11 4 decoded [B
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
input
charset
trimCredentials
public java.lang.String getUsername();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
public java.lang.String getPassword();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.password:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
private void parseMethod();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.authorization:Lorg/apache/tomcat/util/buf/ByteChunk;
ldc "basic "
iconst_0
invokevirtual org.apache.tomcat.util.buf.ByteChunk.startsWithIgnoreCase:(Ljava/lang/String;I)Z
ifeq 4
1: aload 0
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.initialOffset:I
ldc "basic "
invokevirtual java.lang.String.length:()I
iadd
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.base64blobOffset:I
2: aload 0
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.authorization:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getLength:()I
ldc "basic "
invokevirtual java.lang.String.length:()I
isub
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.base64blobLength:I
3: goto 7
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
5: ldc "Authorization header method is not \"Basic\""
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
Exceptions:
throws java.lang.IllegalArgumentException
private byte[] parseBase64();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.authorization:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBuffer:()[B
1: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.base64blobOffset:I
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.base64blobLength:I
2: invokestatic org.apache.tomcat.util.codec.binary.Base64.decodeBase64:([BII)[B
astore 1
start local 1 3: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.authorization:Lorg/apache/tomcat/util/buf/ByteChunk;
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.initialOffset:I
invokevirtual org.apache.tomcat.util.buf.ByteChunk.setOffset:(I)V
4: aload 1
ifnonnull 8
5: new java.lang.IllegalArgumentException
dup
6: ldc "Basic Authorization credentials are not Base64"
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: byte[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
3 9 1 decoded [B
Exceptions:
throws java.lang.IllegalArgumentException
private void parseCredentials(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: iconst_m1
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
baload
bipush 58
if_icmpne 6
4: iload 3
istore 2
5: goto 8
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 8: StackMap locals:
StackMap stack:
iload 2
ifge 11
9: aload 0
new java.lang.String
dup
aload 1
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.charset:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
10: goto 15
11: StackMap locals:
StackMap stack:
aload 0
new java.lang.String
dup
aload 1
iconst_0
iload 2
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.charset:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
12: aload 0
new java.lang.String
dup
aload 1
iload 2
iconst_1
iadd
aload 1
arraylength
iload 2
isub
iconst_1
isub
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.charset:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.password:Ljava/lang/String;
13: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.password:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 15
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.trimCredentials:Z
ifeq 15
14: aload 0
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.password:Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.password:Ljava/lang/String;
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 17
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.trimCredentials:Z
ifeq 17
16: aload 0
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.username:Ljava/lang/String;
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
0 18 1 decoded [B
1 18 2 colon I
2 8 3 i I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
decoded
}
SourceFile: "BasicAuthenticator.java"
NestHost: org.apache.catalina.authenticator.BasicAuthenticator
InnerClasses:
public BasicCredentials = org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials of org.apache.catalina.authenticator.BasicAuthenticator