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
public sun.security.provider.certpath.CrlRevocationChecker crlChecker;
descriptor: Lsun/security/provider/certpath/CrlRevocationChecker;
flags: (0x0001) ACC_PUBLIC
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=4, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 1
ldc "State ["
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
new java.lang.StringBuilder
dup
ldc "\n issuerDN of last cert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
new java.lang.StringBuilder
dup
ldc "\n traversedCACerts: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 1
new java.lang.StringBuilder
dup
ldc "\n init: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 1
new java.lang.StringBuilder
dup
ldc "\n keyParamsNeeded: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
getfield sun.security.provider.certpath.ForwardState.keyParamsNeededFlag:Z
invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 1
new java.lang.StringBuilder
dup
ldc "\n subjectNamesTraversed: \n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 1
ldc "]\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: goto 15
StackMap locals: sun.security.provider.certpath.ForwardState java.lang.StringBuffer
StackMap stack: java.lang.Exception
11: astore 2
start local 2 12: getstatic sun.security.provider.certpath.ForwardState.debug:Lsun/security/util/Debug;
ifnull 15
13: getstatic sun.security.provider.certpath.ForwardState.debug:Lsun/security/util/Debug;
ldc "ForwardState.toString() unexpected exception"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
14: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
end local 2 15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/provider/certpath/ForwardState;
1 16 1 sb Ljava/lang/StringBuffer;
12 15 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 10 11 Class java.lang.Exception
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
ifnull 10
4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: sun.security.provider.certpath.ForwardState java.util.List top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.PKIXCertPathChecker
astore 2
start local 2 6: aload 2
invokevirtual java.security.cert.PKIXCertPathChecker.isForwardCheckingSupported:()Z
ifeq 9
7: aload 2
iconst_1
invokevirtual java.security.cert.PKIXCertPathChecker.init:(Z)V
8: 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 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: StackMap locals: sun.security.provider.certpath.ForwardState java.util.List
StackMap stack:
aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardState.init:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/provider/certpath/ForwardState;
0 12 1 certPathCheckers Ljava/util/List<Ljava/security/cert/PKIXCertPathChecker;>;
6 9 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=9, 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;
astore 3
start local 3 4: aload 3
instanceof java.security.interfaces.DSAPublicKey
ifeq 7
5: aload 3
checkcast java.security.interfaces.DSAPublicKey
invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
ifnonnull 7
6: aload 0
iconst_1
putfield sun.security.provider.certpath.ForwardState.keyParamsNeededFlag:Z
7: StackMap locals: sun.security.x509.X509CertImpl java.security.PublicKey
StackMap stack:
aload 0
aload 2
putfield sun.security.provider.certpath.ForwardState.cert:Lsun/security/x509/X509CertImpl;
8: 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;
9: aload 1
invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 12
10: aload 0
getfield sun.security.provider.certpath.ForwardState.init:Z
ifne 12
aload 1
invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
iconst_m1
if_icmpeq 12
11: aload 0
dup
getfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
iconst_1
iadd
putfield sun.security.provider.certpath.ForwardState.traversedCACerts:I
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ForwardState.init:Z
ifne 13
aload 1
invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
ifne 32
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 4
start local 4 14: aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
aload 4
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
15: aload 2
invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
16: astore 5
start local 5 17: aload 5
ifnull 32
18: aload 5
19: ldc "subject_name"
20: invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
astore 6
start local 6 21: aload 6
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 7
start local 7 22: goto 25
23: StackMap locals: sun.security.provider.certpath.ForwardState java.security.cert.X509Certificate sun.security.x509.X509CertImpl java.security.PublicKey javax.security.auth.x500.X500Principal sun.security.x509.SubjectAlternativeNameExtension sun.security.x509.GeneralNames java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 8
start local 8 24: aload 0
getfield sun.security.provider.certpath.ForwardState.subjectNamesTraversed:Ljava/util/HashSet;
aload 8
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 8 25: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
end local 7 end local 6 end local 5 26: goto 32
StackMap locals: sun.security.provider.certpath.ForwardState java.security.cert.X509Certificate sun.security.x509.X509CertImpl java.security.PublicKey javax.security.auth.x500.X500Principal
StackMap stack: java.lang.Exception
27: astore 5
start local 5 28: getstatic sun.security.provider.certpath.ForwardState.debug:Lsun/security/util/Debug;
ifnull 31
29: 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
30: aload 5
invokevirtual java.lang.Exception.printStackTrace:()V
31: StackMap locals: java.lang.Exception
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
aload 5
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 32: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.provider.certpath.ForwardState.init:Z
33: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/security/provider/certpath/ForwardState;
0 34 1 cert Ljava/security/cert/X509Certificate;
3 34 2 icert Lsun/security/x509/X509CertImpl;
4 34 3 newKey Ljava/security/PublicKey;
14 32 4 subjName Ljavax/security/auth/x500/X500Principal;
17 26 5 subjAltNameExt Lsun/security/x509/SubjectAlternativeNameExtension;
21 26 6 gNames Lsun/security/x509/GeneralNames;
22 26 7 t Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
24 25 8 gName Lsun/security/x509/GeneralNameInterface;
28 32 5 e Ljava/lang/Exception;
Exception table:
from to target type
15 26 27 Class java.lang.Exception
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"