class sun.security.provider.certpath.ForwardState implements sun.security.provider.certpath.State
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.certpath.ForwardState
super_class: java.lang.Object
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
javax.security.auth.x500.X500Principal issuerDN;
descriptor: Ljavax/security/auth/x500/X500Principal;
flags: (0x0000)
sun.security.x509.X509CertImpl cert;
descriptor: Lsun/security/x509/X509CertImpl;
flags: (0x0000)
java.util.HashSet<sun.security.x509.GeneralNameInterface> subjectNamesTraversed;
descriptor: Ljava/util/HashSet;
flags: (0x0000)
Signature: Ljava/util/HashSet<Lsun/security/x509/GeneralNameInterface;>;
int traversedCACerts;
descriptor: I
flags: (0x0000)
private boolean init;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
sun.security.provider.certpath.UntrustedChecker untrustedChecker;
descriptor: Lsun/security/provider/certpath/UntrustedChecker;
flags: (0x0000)
java.util.ArrayList<java.security.cert.PKIXCertPathChecker> forwardCheckers;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Ljava/security/cert/PKIXCertPathChecker;>;
boolean keyParamsNeededFlag;
descriptor: Z
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "certpath"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.certpath.ForwardState.debug:Lsun/security/util/Debug;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardState.init:Z
2: aload 0
iconst_0
putfield sun.security.provider.certpath.ForwardState.keyParamsNeededFlag:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/certpath/ForwardState;
public boolean isInitial();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.ForwardState.init:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/ForwardState;
public boolean keyParamsNeeded();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.ForwardState.keyParamsNeededFlag:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/ForwardState;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "State ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "\n issuerDN of last cert: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.certpath.ForwardState.issuerDN:Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
3: aload 1
ldc "\n traversedCACerts: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc "\n init: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.certpath.ForwardState.init:Z
invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
ldc "\n keyParamsNeeded: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 0
getfield sun.security.provider.certpath.ForwardState.keyParamsNeededFlag:Z
invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
ldc "\n subjectNamesTraversed: \n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
11: aload 1
ldc "]\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/provider/certpath/ForwardState;
1 13 1 sb Ljava/lang/StringBuilder;
public void initState(java.util.List<java.security.cert.PKIXCertPathChecker>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
1: aload 0
iconst_0
putfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.provider.certpath.ForwardState.forwardCheckers:Ljava/util/ArrayList;
3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: sun.security.provider.certpath.ForwardState java.util.List top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 2
start local 2 5: aload 2
invokevirtual java.security.cert.PKIXCertPathChecker.isForwardCheckingSupported:()Z
ifeq 8
6: aload 2
iconst_1
invokevirtual java.security.cert.PKIXCertPathChecker.init:(Z)V
7: aload 0
getfield sun.security.provider.certpath.ForwardState.forwardCheckers:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardState.init:Z
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/provider/certpath/ForwardState;
0 11 1 certPathCheckers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
5 8 2 checker Ljava/security/cert/PKIXCertPathChecker;
Exceptions:
throws java.security.cert.CertPathValidatorException
Signature: (Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;)V
MethodParameters:
Name Flags
certPathCheckers
public void updateState(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 2
start local 2 3: aload 2
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
invokestatic sun.security.provider.certpath.PKIX.isDSAPublicKeyWithoutParams:(Ljava/security/PublicKey;)Z
ifeq 5
4: aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardState.keyParamsNeededFlag:Z
5: StackMap locals: sun.security.x509.X509CertImpl
StackMap stack:
aload 0
aload 2
putfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
6: aload 0
aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
putfield sun.security.provider.certpath.ForwardState.issuerDN:Ljavax/security/auth/x500/X500Principal;
7: aload 1
invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 10
8: aload 0
getfield sun.security.provider.certpath.ForwardState.init:Z
ifne 10
aload 1
invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
iconst_m1
if_icmpeq 10
9: aload 0
dup
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
iconst_1
iadd
putfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardState.init:Z
ifne 11
aload 1
invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 29
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 3
start local 3 12: aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
aload 3
invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
13: aload 2
invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
14: astore 4
start local 4 15: aload 4
ifnull 29
16: aload 4
17: ldc "subject_name"
18: invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
astore 5
start local 5 19: aload 5
invokevirtual sun.security.x509.GeneralNames.names:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 22
StackMap locals: sun.security.provider.certpath.ForwardState java.security.cert.X509Certificate sun.security.x509.X509CertImpl javax.security.auth.x500.X500Principal sun.security.x509.SubjectAlternativeNameExtension sun.security.x509.GeneralNames top java.util.Iterator
StackMap stack:
20: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
astore 6
start local 6 21: aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
aload 6
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 6 22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 5 end local 4 23: goto 29
StackMap locals: sun.security.provider.certpath.ForwardState java.security.cert.X509Certificate sun.security.x509.X509CertImpl javax.security.auth.x500.X500Principal
StackMap stack: java.io.IOException
24: astore 4
start local 4 25: getstatic sun.security.provider.certpath.ForwardState.debug:Lsun/security/util/Debug;
ifnull 28
26: getstatic sun.security.provider.certpath.ForwardState.debug:Lsun/security/util/Debug;
ldc "ForwardState.updateState() unexpected exception"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: aload 4
invokevirtual java.io.IOException.printStackTrace:()V
28: StackMap locals: java.io.IOException
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
aload 4
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 29: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.provider.certpath.ForwardState.init:Z
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/provider/certpath/ForwardState;
0 31 1 cert Ljava/security/cert/X509Certificate;
3 31 2 icert Lsun/security/x509/X509CertImpl;
12 29 3 subjName Ljavax/security/auth/x500/X500Principal;
15 23 4 subjAltNameExt Lsun/security/x509/SubjectAlternativeNameExtension;
19 23 5 gNames Lsun/security/x509/GeneralNames;
21 22 6 gName Lsun/security/x509/GeneralName;
25 29 4 e Ljava/io/IOException;
Exception table:
from to target type
13 23 24 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException, java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
cert
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast sun.security.provider.certpath.ForwardState
astore 1
start local 1 1: aload 1
2: aload 0
getfield sun.security.provider.certpath.ForwardState.forwardCheckers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
3: checkcast java.util.ArrayList
putfield sun.security.provider.certpath.ForwardState.forwardCheckers:Ljava/util/ArrayList;
4: aload 1
getfield sun.security.provider.certpath.ForwardState.forwardCheckers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.listIterator:()Ljava/util/ListIterator;
5: astore 2
start local 2 6: goto 10
7: StackMap locals: sun.security.provider.certpath.ForwardState java.util.ListIterator
StackMap stack:
aload 2
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 3
start local 3 8: aload 3
instanceof java.lang.Cloneable
ifeq 10
9: aload 2
aload 3
invokevirtual java.security.cert.PKIXCertPathChecker.clone:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 7
11: aload 1
12: aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
checkcast java.util.HashSet
13: putfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
14: aload 1
15: areturn
end local 2 end local 1 16: StackMap locals: sun.security.provider.certpath.ForwardState
StackMap stack: java.lang.CloneNotSupportedException
astore 1
start local 1 17: new java.lang.InternalError
dup
aload 1
invokevirtual java.lang.CloneNotSupportedException.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/provider/certpath/ForwardState;
1 16 1 clonedState Lsun/security/provider/certpath/ForwardState;
6 16 2 li Ljava/util/ListIterator<Ljava/security/cert/PKIXCertPathChecker;>;
8 10 3 checker Ljava/security/cert/PKIXCertPathChecker;
17 18 1 e Ljava/lang/CloneNotSupportedException;
Exception table:
from to target type
0 15 16 Class java.lang.CloneNotSupportedException
}
SourceFile: "ForwardState.java"