public class org.bouncycastle.jcajce.io.CipherInputStream extends java.io.FilterInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jcajce.io.CipherInputStream
super_class: java.io.FilterInputStream
{
private final javax.crypto.Cipher cipher;
descriptor: Ljavax/crypto/Cipher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] inputBuffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean finalized;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] buf;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int maxBuf;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bufOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.io.InputStream, javax.crypto.Cipher);
descriptor: (Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
sipush 512
newarray 8
putfield org.bouncycastle.jcajce.io.CipherInputStream.inputBuffer:[B
2: aload 0
iconst_0
putfield org.bouncycastle.jcajce.io.CipherInputStream.finalized:Z
3: aload 0
aload 2
putfield org.bouncycastle.jcajce.io.CipherInputStream.cipher:Ljavax/crypto/Cipher;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
0 5 1 input Ljava/io/InputStream;
0 5 2 cipher Ljavax/crypto/Cipher;
MethodParameters:
Name Flags
input
cipher
private int nextChunk();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.finalized:Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
3: aload 0
iconst_0
putfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
4: goto 15
5: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.in:Ljava/io/InputStream;
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.inputBuffer:[B
invokevirtual java.io.InputStream.read:([B)I
istore 1
start local 1 6: iload 1
iconst_m1
if_icmpne 12
7: aload 0
aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.finaliseCipher:()[B
putfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
8: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
ifnull 9
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
arraylength
ifne 10
9: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
arraylength
putfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
11: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
ireturn
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.cipher:Ljavax/crypto/Cipher;
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.inputBuffer:[B
iconst_0
iload 1
invokevirtual javax.crypto.Cipher.update:([BII)[B
putfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
13: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
ifnull 15
14: aload 0
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
arraylength
putfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
end local 1 15: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
ifeq 5
16: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
6 15 1 read I
Exceptions:
throws java.io.IOException
private byte[] finaliseCipher();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.bouncycastle.jcajce.io.CipherInputStream.finalized:Z
1: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.cipher:Ljavax/crypto/Cipher;
invokevirtual javax.crypto.Cipher.doFinal:()[B
2: areturn
3: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 1
start local 1 4: new org.bouncycastle.crypto.io.InvalidCipherTextIOException
dup
ldc "Error finalising cipher"
aload 1
invokespecial org.bouncycastle.crypto.io.InvalidCipherTextIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
4 5 1 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 2 3 Class java.security.GeneralSecurityException
Exceptions:
throws org.bouncycastle.crypto.io.InvalidCipherTextIOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
if_icmplt 3
1: aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.nextChunk:()I
ifge 3
2: iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
aload 0
dup
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
baload
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
if_icmplt 3
1: aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.nextChunk:()I
ifge 3
2: iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
iload 3
aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.available:()I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 4: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.buf:[B
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
aload 1
iload 2
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 0
dup
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
iload 4
iadd
putfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
6: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
0 7 1 b [B
0 7 2 off I
0 7 3 len I
4 7 4 toSupply I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifgt 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
lload 1
aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.available:()I
i2l
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 3
start local 3 3: aload 0
dup
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
iload 3
iadd
putfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
4: iload 3
i2l
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
0 5 1 n J
3 5 3 skip I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
1: goto 6
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
3: aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.finalized:Z
ifne 5
4: aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.finaliseCipher:()[B
pop
5: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.jcajce.io.CipherInputStream.finalized:Z
ifne 8
7: aload 0
invokevirtual org.bouncycastle.jcajce.io.CipherInputStream.finaliseCipher:()[B
pop
8: StackMap locals:
StackMap stack:
aload 0
aload 0
iconst_0
dup_x1
putfield org.bouncycastle.jcajce.io.CipherInputStream.bufOff:I
putfield org.bouncycastle.jcajce.io.CipherInputStream.maxBuf:I
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
Exception table:
from to target type
0 2 2 any
Exceptions:
throws java.io.IOException
public void mark(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
0 1 1 readlimit I
MethodParameters:
Name Flags
readlimit
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
Exceptions:
throws java.io.IOException
public boolean markSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jcajce/io/CipherInputStream;
}
SourceFile: "CipherInputStream.java"