public class org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi extends java.security.cert.CertPathValidatorSpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi
super_class: java.security.cert.CertPathValidatorSpi
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi this
0: .line 24
aload 0 /* this */
invokespecial java.security.cert.CertPathValidatorSpi.<init>:()V
return
end local 0 // org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/PKIXAttrCertPathValidatorSpi;
public java.security.cert.CertPathValidatorResult engineValidate(java.security.cert.CertPath, java.security.cert.CertPathParameters);
descriptor: (Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 // org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi this
start local 1 // java.security.cert.CertPath certPath
start local 2 // java.security.cert.CertPathParameters params
0: .line 56
aload 2 /* params */
instanceof org.bouncycastle.x509.ExtendedPKIXParameters
ifne 6
1: .line 58
new java.security.InvalidAlgorithmParameterException
dup
2: .line 59
new java.lang.StringBuilder
dup
ldc "Parameters must be a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: .line 60
ldc Lorg/bouncycastle/x509/ExtendedPKIXParameters;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " instance."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: .line 59
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: .line 58
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
6: .line 62
StackMap locals:
StackMap stack:
aload 2 /* params */
checkcast org.bouncycastle.x509.ExtendedPKIXParameters
astore 3 /* pkixParams */
start local 3 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
7: .line 64
aload 3 /* pkixParams */
invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getTargetConstraints:()Lorg/bouncycastle/util/Selector;
astore 4 /* certSelect */
start local 4 // org.bouncycastle.util.Selector certSelect
8: .line 65
aload 4 /* certSelect */
instanceof org.bouncycastle.x509.X509AttributeCertStoreSelector
ifne 15
9: .line 67
new java.security.InvalidAlgorithmParameterException
dup
10: .line 68
new java.lang.StringBuilder
dup
ldc "TargetConstraints must be an instance of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: .line 69
ldc Lorg/bouncycastle/x509/X509AttributeCertStoreSelector;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: .line 70
aload 0 /* this */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " class."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: .line 68
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: .line 67
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
15: .line 72
StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.util.Selector
StackMap stack:
aload 4 /* certSelect */
checkcast org.bouncycastle.x509.X509AttributeCertStoreSelector
16: .line 73
invokevirtual org.bouncycastle.x509.X509AttributeCertStoreSelector.getAttributeCert:()Lorg/bouncycastle/x509/X509AttributeCertificate;
17: .line 72
astore 5 /* attrCert */
start local 5 // org.bouncycastle.x509.X509AttributeCertificate attrCert
18: .line 75
aload 5 /* attrCert */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.processAttrCert1:(Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/security/cert/CertPath;
astore 6 /* holderCertPath */
start local 6 // java.security.cert.CertPath holderCertPath
19: .line 76
aload 1 /* certPath */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.processAttrCert2:(Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/security/cert/CertPathValidatorResult;
astore 7 /* result */
start local 7 // java.security.cert.CertPathValidatorResult result
20: .line 77
aload 1 /* certPath */
21: .line 78
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
22: .line 77
astore 8 /* issuerCert */
start local 8 // java.security.cert.X509Certificate issuerCert
23: .line 79
aload 8 /* issuerCert */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.processAttrCert3:(Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
24: .line 80
aload 8 /* issuerCert */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.processAttrCert4:(Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
25: .line 81
aload 5 /* attrCert */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.processAttrCert5:(Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
26: .line 83
aload 5 /* attrCert */
aload 1 /* certPath */
aload 6 /* holderCertPath */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.processAttrCert7:(Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/CertPath;Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
27: .line 84
aload 5 /* attrCert */
aload 3 /* pkixParams */
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.additionalChecks:(Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
28: .line 85
aconst_null
astore 9 /* date */
start local 9 // java.util.Date date
29: .line 89
aload 3 /* pkixParams */
aconst_null
iconst_m1
invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidCertDateFromValidityModel:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/CertPath;I)Ljava/util/Date;
30: .line 88
astore 9 /* date */
31: .line 90
goto 36
32: .line 91
StackMap locals: org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi java.security.cert.CertPath java.security.cert.CertPathParameters org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.util.Selector org.bouncycastle.x509.X509AttributeCertificate java.security.cert.CertPath java.security.cert.CertPathValidatorResult java.security.cert.X509Certificate java.util.Date
StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
astore 10 /* e */
start local 10 // org.bouncycastle.jce.provider.AnnotatedException e
33: .line 93
new org.bouncycastle.jce.exception.ExtCertPathValidatorException
dup
34: .line 94
ldc "Could not get validity date from attribute certificate."
aload 10 /* e */
35: .line 93
invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 // org.bouncycastle.jce.provider.AnnotatedException e
36: .line 96
StackMap locals:
StackMap stack:
aload 5 /* attrCert */
aload 3 /* pkixParams */
aload 8 /* issuerCert */
aload 9 /* date */
aload 1 /* certPath */
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.checkCRLs:(Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/util/List;)V
37: .line 97
aload 7 /* result */
areturn
end local 9 // java.util.Date date
end local 8 // java.security.cert.X509Certificate issuerCert
end local 7 // java.security.cert.CertPathValidatorResult result
end local 6 // java.security.cert.CertPath holderCertPath
end local 5 // org.bouncycastle.x509.X509AttributeCertificate attrCert
end local 4 // org.bouncycastle.util.Selector certSelect
end local 3 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
end local 2 // java.security.cert.CertPathParameters params
end local 1 // java.security.cert.CertPath certPath
end local 0 // org.bouncycastle.jce.provider.PKIXAttrCertPathValidatorSpi this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/bouncycastle/jce/provider/PKIXAttrCertPathValidatorSpi;
0 38 1 certPath Ljava/security/cert/CertPath;
0 38 2 params Ljava/security/cert/CertPathParameters;
7 38 3 pkixParams Lorg/bouncycastle/x509/ExtendedPKIXParameters;
8 38 4 certSelect Lorg/bouncycastle/util/Selector;
18 38 5 attrCert Lorg/bouncycastle/x509/X509AttributeCertificate;
19 38 6 holderCertPath Ljava/security/cert/CertPath;
20 38 7 result Ljava/security/cert/CertPathValidatorResult;
23 38 8 issuerCert Ljava/security/cert/X509Certificate;
29 38 9 date Ljava/util/Date;
33 36 10 e Lorg/bouncycastle/jce/provider/AnnotatedException;
Exception table:
from to target type
29 31 32 Class org.bouncycastle.jce.provider.AnnotatedException
Exceptions:
throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
certPath
params
}
SourceFile: "PKIXAttrCertPathValidatorSpi.java"