class sun.security.util.DisabledAlgorithmConstraints$UsageConstraint extends sun.security.util.DisabledAlgorithmConstraints$Constraint
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint
super_class: sun.security.util.DisabledAlgorithmConstraints$Constraint
{
java.lang.String[] usages;
descriptor: [Ljava/lang/String;
flags: (0x0000)
void <init>(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
start local 1 // java.lang.String algorithm
start local 2 // java.lang.String[] usages
0: .line 759
aload 0 /* this */
invokespecial sun.security.util.DisabledAlgorithmConstraints$Constraint.<init>:()V
1: .line 760
aload 0 /* this */
aload 1 /* algorithm */
putfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.algorithm:Ljava/lang/String;
2: .line 761
aload 0 /* this */
aload 2 /* usages */
putfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.usages:[Ljava/lang/String;
3: .line 762
return
end local 2 // java.lang.String[] usages
end local 1 // java.lang.String algorithm
end local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/util/DisabledAlgorithmConstraints$UsageConstraint;
0 4 1 algorithm Ljava/lang/String;
0 4 2 usages [Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
usages
public void permits(sun.security.util.ConstraintsParameters);
descriptor: (Lsun/security/util/ConstraintsParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
start local 1 // sun.security.util.ConstraintsParameters cp
0: .line 767
aload 0 /* this */
getfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.usages:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 26
StackMap locals: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint sun.security.util.ConstraintsParameters top int int java.lang.String[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2 /* usage */
start local 2 // java.lang.String usage
2: .line 769
aconst_null
astore 6 /* v */
start local 6 // java.lang.String v
3: .line 770
aload 2 /* usage */
ldc "TLSServer"
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
ifne 6
4: .line 771
ldc "tls server"
astore 6 /* v */
5: .line 772
goto 11
StackMap locals: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint sun.security.util.ConstraintsParameters java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
6: aload 2 /* usage */
ldc "TLSClient"
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
ifne 9
7: .line 773
ldc "tls client"
astore 6 /* v */
8: .line 774
goto 11
StackMap locals:
StackMap stack:
9: aload 2 /* usage */
ldc "SignedJAR"
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
ifne 11
10: .line 775
ldc "plugin code signing"
astore 6 /* v */
11: .line 778
StackMap locals:
StackMap stack:
getstatic sun.security.util.DisabledAlgorithmConstraints.debug:Lsun/security/util/Debug;
ifnull 17
12: .line 779
getstatic sun.security.util.DisabledAlgorithmConstraints.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Checking if usage constraint \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* v */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: .line 780
ldc "\" matches \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1 /* cp */
invokevirtual sun.security.util.ConstraintsParameters.getVariant:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: .line 779
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
15: .line 781
invokestatic sun.security.util.Debug.isVerbose:()Z
ifeq 17
16: .line 784
new java.lang.Exception
dup
invokespecial java.lang.Exception.<init>:()V
getstatic sun.security.util.DisabledAlgorithmConstraints.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.getPrintStream:()Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
17: .line 787
StackMap locals:
StackMap stack:
aload 1 /* cp */
invokevirtual sun.security.util.ConstraintsParameters.getVariant:()Ljava/lang/String;
aload 6 /* v */
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifne 25
18: .line 788
aload 0 /* this */
aload 1 /* cp */
invokevirtual sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.next:(Lsun/security/util/ConstraintsParameters;)Z
ifeq 20
19: .line 789
return
20: .line 791
StackMap locals:
StackMap stack:
new java.security.cert.CertPathValidatorException
dup
new java.lang.StringBuilder
dup
ldc "Usage constraint "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: .line 792
aload 2 /* usage */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " check failed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* this */
getfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: .line 793
aload 0 /* this */
aload 1 /* cp */
invokevirtual sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.extendedMsg:(Lsun/security/util/ConstraintsParameters;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: .line 794
aconst_null
aconst_null
iconst_m1
getstatic java.security.cert.CertPathValidatorException$BasicReason.ALGORITHM_CONSTRAINED:Ljava/security/cert/CertPathValidatorException$BasicReason;
24: .line 791
invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
athrow
end local 6 // java.lang.String v
end local 2 // java.lang.String usage
25: .line 767
StackMap locals: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint sun.security.util.ConstraintsParameters top int int java.lang.String[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
26: iload 3
iload 4
if_icmplt 1
27: .line 797
return
end local 1 // sun.security.util.ConstraintsParameters cp
end local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/util/DisabledAlgorithmConstraints$UsageConstraint;
0 28 1 cp Lsun/security/util/ConstraintsParameters;
2 25 2 usage Ljava/lang/String;
3 25 6 v Ljava/lang/String;
Exceptions:
throws java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
cp
}
SourceFile: "DisabledAlgorithmConstraints.java"
NestHost: sun.security.util.DisabledAlgorithmConstraints
InnerClasses:
public final BasicReason = java.security.cert.CertPathValidatorException$BasicReason of java.security.cert.CertPathValidatorException
public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException
private abstract Constraint = sun.security.util.DisabledAlgorithmConstraints$Constraint of sun.security.util.DisabledAlgorithmConstraints
private UsageConstraint = sun.security.util.DisabledAlgorithmConstraints$UsageConstraint of sun.security.util.DisabledAlgorithmConstraints