public class org.bouncycastle.cert.path.validations.CertificatePoliciesValidation implements org.bouncycastle.cert.path.CertPathValidation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.path.validations.CertificatePoliciesValidation
super_class: java.lang.Object
{
private int explicitPolicy;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int policyMapping;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int inhibitAnyPolicy;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
iconst_0
iconst_0
invokespecial org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.<init>:(IZZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/path/validations/CertificatePoliciesValidation;
0 2 1 pathLength I
MethodParameters:
Name Flags
pathLength
void <init>(int, boolean, boolean, boolean);
descriptor: (IZZZ)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 2
ifeq 4
2: aload 0
iconst_0
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.explicitPolicy:I
3: goto 5
4: StackMap locals: org.bouncycastle.cert.path.validations.CertificatePoliciesValidation int int int int
StackMap stack:
aload 0
iload 1
iconst_1
iadd
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.explicitPolicy:I
5: StackMap locals:
StackMap stack:
iload 3
ifeq 8
6: aload 0
iconst_0
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.inhibitAnyPolicy:I
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_1
iadd
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.inhibitAnyPolicy:I
9: StackMap locals:
StackMap stack:
iload 4
ifeq 12
10: aload 0
iconst_0
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.policyMapping:I
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_1
iadd
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.policyMapping:I
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/cert/path/validations/CertificatePoliciesValidation;
0 14 1 pathLength I
0 14 2 isExplicitPolicyRequired Z
0 14 3 isAnyPolicyInhibited Z
0 14 4 isPolicyMappingInhibited Z
MethodParameters:
Name Flags
pathLength
isExplicitPolicyRequired
isAnyPolicyInhibited
isPolicyMappingInhibited
public void validate(org.bouncycastle.cert.path.CertPathValidationContext, org.bouncycastle.cert.X509CertificateHolder);
descriptor: (Lorg/bouncycastle/cert/path/CertPathValidationContext;Lorg/bouncycastle/cert/X509CertificateHolder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic org.bouncycastle.asn1.x509.Extension.policyConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.cert.path.CertPathValidationContext.addHandledExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
1: aload 1
getstatic org.bouncycastle.asn1.x509.Extension.inhibitAnyPolicy:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.cert.path.CertPathValidationContext.addHandledExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)V
2: aload 1
invokevirtual org.bouncycastle.cert.path.CertPathValidationContext.isEndEntity:()Z
ifne 22
3: aload 2
invokestatic org.bouncycastle.cert.path.validations.ValidationUtils.isSelfIssued:(Lorg/bouncycastle/cert/X509CertificateHolder;)Z
ifne 22
4: aload 0
aload 0
aload 0
getfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.explicitPolicy:I
invokevirtual org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.countDown:(I)I
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.explicitPolicy:I
5: aload 0
aload 0
aload 0
getfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.policyMapping:I
invokevirtual org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.countDown:(I)I
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.policyMapping:I
6: aload 0
aload 0
aload 0
getfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.inhibitAnyPolicy:I
invokevirtual org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.countDown:(I)I
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.inhibitAnyPolicy:I
7: aload 2
invokevirtual org.bouncycastle.cert.X509CertificateHolder.getExtensions:()Lorg/bouncycastle/asn1/x509/Extensions;
invokestatic org.bouncycastle.asn1.x509.PolicyConstraints.fromExtensions:(Lorg/bouncycastle/asn1/x509/Extensions;)Lorg/bouncycastle/asn1/x509/PolicyConstraints;
astore 3
start local 3 8: aload 3
ifnull 17
9: aload 3
invokevirtual org.bouncycastle.asn1.x509.PolicyConstraints.getRequireExplicitPolicyMapping:()Ljava/math/BigInteger;
astore 4
start local 4 10: aload 4
ifnull 13
11: aload 4
invokevirtual java.math.BigInteger.intValue:()I
aload 0
getfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.explicitPolicy:I
if_icmpge 13
12: aload 0
aload 4
invokevirtual java.math.BigInteger.intValue:()I
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.explicitPolicy:I
13: StackMap locals: org.bouncycastle.asn1.x509.PolicyConstraints java.math.BigInteger
StackMap stack:
aload 3
invokevirtual org.bouncycastle.asn1.x509.PolicyConstraints.getInhibitPolicyMapping:()Ljava/math/BigInteger;
astore 5
start local 5 14: aload 5
ifnull 17
15: aload 5
invokevirtual java.math.BigInteger.intValue:()I
aload 0
getfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.policyMapping:I
if_icmpge 17
16: aload 0
aload 5
invokevirtual java.math.BigInteger.intValue:()I
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.policyMapping:I
end local 5 end local 4 17: StackMap locals:
StackMap stack:
aload 2
getstatic org.bouncycastle.asn1.x509.Extension.inhibitAnyPolicy:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.cert.X509CertificateHolder.getExtension:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/x509/Extension;
astore 4
start local 4 18: aload 4
ifnull 22
19: aload 4
invokevirtual org.bouncycastle.asn1.x509.Extension.getParsedValue:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
istore 5
start local 5 20: iload 5
aload 0
getfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.inhibitAnyPolicy:I
if_icmpge 22
21: aload 0
iload 5
putfield org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.inhibitAnyPolicy:I
end local 5 end local 4 end local 3 22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/bouncycastle/cert/path/validations/CertificatePoliciesValidation;
0 23 1 context Lorg/bouncycastle/cert/path/CertPathValidationContext;
0 23 2 certificate Lorg/bouncycastle/cert/X509CertificateHolder;
8 22 3 policyConstraints Lorg/bouncycastle/asn1/x509/PolicyConstraints;
10 17 4 requireExplicitPolicyMapping Ljava/math/BigInteger;
14 17 5 inhibitPolicyMapping Ljava/math/BigInteger;
18 22 4 ext Lorg/bouncycastle/asn1/x509/Extension;
20 22 5 extValue I
Exceptions:
throws org.bouncycastle.cert.path.CertPathValidationException
MethodParameters:
Name Flags
context
certificate
private int countDown(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: iload 1
iconst_1
isub
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/cert/path/validations/CertificatePoliciesValidation;
0 3 1 policyCounter I
MethodParameters:
Name Flags
policyCounter
public org.bouncycastle.util.Memoable copy();
descriptor: ()Lorg/bouncycastle/util/Memoable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.bouncycastle.cert.path.validations.CertificatePoliciesValidation
dup
iconst_0
invokespecial org.bouncycastle.cert.path.validations.CertificatePoliciesValidation.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/path/validations/CertificatePoliciesValidation;
public void reset(org.bouncycastle.util.Memoable);
descriptor: (Lorg/bouncycastle/util/Memoable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.bouncycastle.cert.path.validations.CertificatePoliciesValidation
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/cert/path/validations/CertificatePoliciesValidation;
0 2 1 other Lorg/bouncycastle/util/Memoable;
MethodParameters:
Name Flags
other
}
SourceFile: "CertificatePoliciesValidation.java"